X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=gdb.spec;h=6765bf546aa73fed38eff2a648ad50489180db29;hb=a82526875759e86bb96b8d99b1afb5f219a5bfa2;hp=4b6ac879556f974cebc82d9271fa096f6d5d42a3;hpb=0ec456987585d381548ba674e2c178388c001950;p=packages%2Fgdb.git diff --git a/gdb.spec b/gdb.spec index 4b6ac87..6765bf5 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1,6 +1,12 @@ +# NOTE +# - Do not remove -lib package, it is required by FPC + +# TODO +# - change install msg to poldek in buildid-locate-rpm-pld.patch when poldek allows it. LP#493922 # -# NOTE: Do not remove -lib package, it is required by FPC -# +# Conditional build: +%bcond_without python # build without python support + Summary: A GNU source-level debugger for C, C++ and Fortran Summary(de.UTF-8): Symbolischer Debugger für C und andere Sprachen Summary(es.UTF-8): Depurador de programas C y otras lenguajes @@ -12,31 +18,53 @@ Summary(tr.UTF-8): C ve diğer diller için sembolik hata ayıklayıcı Summary(uk.UTF-8): Символьний відладчик для С та інших мов Summary(zh_CN.UTF-8): [开发]C和其他语言的调试器 Summary(zh_TW.UTF-8): [.-A開發]C和.$)B其.-A他語.$)B言的調試器 +%define snap 20120926 Name: gdb -Version: 6.6 +Version: 7.6 Release: 1 -License: GPL +License: GPL v3+ Group: Development/Debuggers -Source0: ftp://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.bz2 -# Source0-md5: a4df41d28dd514d64e8ccbfe125fd9a6 +Source0: http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.bz2 +# Source0-md5: fda57170e4d11cdde74259ca575412a8 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source1-md5: 2e8a48939ae282c12bbacdd54e398247 -Patch0: %{name}-readline.patch -Patch1: %{name}-info.patch -Patch2: %{name}-passflags.patch -# updated from http://www.math.uni.wroc.pl/~hebisch/gpc/gdb-6.1.diff -Patch3: %{name}-gpc.patch -Patch4: %{name}-gdbinit-stat.patch -Patch5: %{name}-pretty-print-by-default.patch -Patch6: %{name}-absolute-gnu_debuglink-path.patch -BuildRequires: autoconf >= 2.53 +Source3: %{name}-gstack.man +Patch100: gdb-6.6-buildid-locate.patch +Patch101: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch102: gdb-6.6-buildid-locate-rpm.patch +Patch103: gdb-6.6-buildid-locate-core-as-arg.patch +Patch104: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch105: gdb-6.3-gstack-20050411.patch +Patch106: gdb-gdb-add-index-script.patch +Patch1000: %{name}-readline.patch +Patch1001: %{name}-info.patch +Patch1002: %{name}-passflags.patch +Patch1005: %{name}-pretty-print-by-default.patch +Patch1006: buildid-locate-rpm-pld.patch +URL: http://www.gnu.org/software/gdb/ +BuildRequires: autoconf >= 2.69 BuildRequires: automake BuildRequires: bison +BuildRequires: expat-devel BuildRequires: flex +BuildRequires: gettext-devel +BuildRequires: libselinux-devel BuildRequires: libtool +BuildRequires: libunwind-devel >= 0.97 BuildRequires: ncurses-devel >= 5.2 -BuildRequires: readline-devel >= 4.3 -BuildRequires: texinfo +BuildRequires: pkgconfig +BuildRequires: readline-devel +BuildRequires: rpmbuild(macros) >= 1.219 +BuildRequires: texinfo >= 4.4 +BuildRequires: zlib-devel +%if %{with python} +BuildRequires: python-devel +BuildRequires: rpm-pythonprov +Obsoletes: python-gdb +# for traceback module +Requires: python-modules +%endif +Requires: libunwind >= 0.97 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -91,11 +119,42 @@ verir. момент часу. Працює з програмами на C та C++, зкомпільованими компіляторами GNU C (gcc, egcs, pgcc). +%package gdbserver +Summary: A standalone server for GDB (the GNU source-level debugger) +Summary(pl.UTF-8): Samodzielny serwer GDB (debuggera GNU) +Group: Development/Debuggers + +%description gdbserver +GDB, the GNU debugger, allows you to debug programs written in C, C++, +Java, and other languages, by executing them in a controlled fashion +and printing their data. + +This package provides a program that allows you to run GDB on a +different machine than the one which is running the program being +debugged. + +%description gdbserver -l pl.UTF-8 +GDB (GNU debugger) pozwala śledzić programy napisane w C, C++, Javie i +innych językach programowania poprzez wykonywanie ich w sposób +kontrolowany oraz wypisywanie ich danych. + +Ten pakiet zawiera program pozwalający uruchamiać GDB na innej +maszynie niż ta, na której działa śledzony program. + %package lib Summary: GDB in the form of a static library Summary(pl.UTF-8): GDB w postaci biblioteki statycznej Group: Development/Debuggers -#Requires: binutils-static >= 2.17.50 +# libraries that needs to be linked to fulfill libgdb.a symbol requirements +Requires: binutils-devel >= 2.17.50 +Requires: expat-devel +Requires: libselinux-devel +Requires: libsepol-devel +Requires: ncurses-devel +Requires: python-devel +Requires: readline-devel +Requires: xz-devel +Requires: zlib-devel %description lib GDB in the form of a static library. @@ -105,28 +164,60 @@ GDB w postaci biblioteki statycznej. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p0 -%patch5 -p1 -%patch6 -p1 + +# Files have `# ' statements breaking VPATH / find-debuginfo.sh . +rm -f gdb/ada-exp.c gdb/ada-lex.c gdb/c-exp.c gdb/cp-name-parser.c gdb/f-exp.c +rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c + +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 +%patch104 -p1 +%patch105 -p1 +%patch106 -p1 + +%patch1000 -p1 +%patch1001 -p1 +%patch1002 -p1 +%patch1005 -p1 +%patch1006 -p1 + +# Change the version that gets printed at GDB startup, so it is PLD Linux specific. +cat > gdb/version.in << EOF +%{version}-%{release} (PLD Linux) +EOF + +sed -i -e 's#_GCC_AUTOCONF_VERSION\], \[2\.64\]#_GCC_AUTOCONF_VERSION], [2.69]#g' config/override.m4 %build -for dir in `find gdb/ -name 'configure.in'`; do +# omit hand-written gdb/testsuite aclocal.m4 +for dir in gdb gdb/gdbserver ; do + olddir=$(pwd) + cd $dir + %{__rm} aclocal.m4 + %{__aclocal} $(grep '^ACLOCAL_AMFLAGS' Makefile.in | sed -e 's/.*=//') + cd $olddir +done +for dir in $(find gdb -name 'configure.in' -o -name 'configure.ac'); do dir=$(dirname "$dir") olddir=$(pwd) cd $dir - rm -f aclocal.m4 - %{__aclocal} %{__autoconf} + grep -q AC_CONFIG_HEADER configure.* && %{__autoheader} cd $olddir done cp -f /usr/share/automake/config.* . -# !! Don't enable shared here !! -# This will cause serious problems --misiek -%configure2_13 \ +# don't --enable-shared here, there would be libs version mismatch with binutils +%configure \ + --with-gdb-datadir=%{_datadir}/gdb \ + --with-separate-debug-dir=/usr/lib/debug \ +%if %{with python} + --with-python=yes \ + --with-pythondir=%{py_sitescriptdir} \ +%else + --without-python \ +%endif --disable-gdbtk \ --disable-shared \ --enable-gdbcli \ @@ -135,56 +226,110 @@ cp -f /usr/share/automake/config.* . --enable-netrom \ --enable-nls \ --enable-tui \ + --with-system-readline \ --with-cpu=%{_target_cpu} \ - --without-included-gettext \ - --without-included-regex \ - --without-x \ %ifnarch alpha - --with-mmalloc + --with-mmalloc \ %endif + --without-included-gettext \ + --without-included-regex \ + --without-x + +%{__make} -j1 +%{__make} -j1 info -%{__make} -%{__make} info +# gdb/ChangeLog: Build gdb directly from *.o files not using libgdb.a. +%{__make} -j1 -C gdb libgdb.a %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_infodir} -%{__make} install install-info \ - prefix=$RPM_BUILD_ROOT%{_prefix} \ - bindir=$RPM_BUILD_ROOT%{_bindir} \ - sbindir=$RPM_BUILD_ROOT%{_sbindir} \ - infodir=$RPM_BUILD_ROOT%{_infodir} \ - includedir=$RPM_BUILD_ROOT%{_includedir} \ - libdir=$RPM_BUILD_ROOT%{_libdir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} +%{__make} -j1 install install-info \ + DESTDIR=$RPM_BUILD_ROOT + +# gdbtui seems all identical to gdb except when invoked as gdbtio, ncurses +# window is created too. +echo ".so gdb.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gdbtui.1 +ln -f $RPM_BUILD_ROOT%{_bindir}/{gdb,gdbtui} bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} +cp -a gdb/libgdb.a $RPM_BUILD_ROOT%{_libdir} + +rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f $RPM_BUILD_ROOT%{_mandir}/README.gdb-non-english-man-pages -install gdb/libgdb.a $RPM_BUILD_ROOT%{_libdir} +%if %{with python} +# Temporarily now: +for LIB in lib lib64; do + LIBPATH="$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{_prefix}/$LIB" + install -d $LIBPATH +done + +%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} +%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} +%py_postclean +%endif + +cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/gstack.1 + +install libdecnumber/libdecnumber.a $RPM_BUILD_ROOT%{_libdir} + +# Remove the files that are part of a gdb build but that are owned and provided by other packages. +# These are part of binutils +rm -rf $RPM_BUILD_ROOT%{_localedir} +rm -f $RPM_BUILD_ROOT%{_infodir}/bfd* +rm -f $RPM_BUILD_ROOT%{_infodir}/standard* +rm -f $RPM_BUILD_ROOT%{_infodir}/mmalloc* +rm -f $RPM_BUILD_ROOT%{_infodir}/configure* +rm -rf $RPM_BUILD_ROOT%{_includedir} +rm -rf $RPM_BUILD_ROOT%{_libdir}/lib{bfd*,opcodes*,iberty*,mmalloc*} %clean rm -rf $RPM_BUILD_ROOT -%post -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 +%post -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} -%postun -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 +%postun -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} %files %defattr(644,root,root,755) %doc gdb/{ChangeLog,NEWS,PROBLEMS,README} -%attr(755,root,root) %{_bindir}/* -%{_mandir}/man1/* +%attr(755,root,root) %{_bindir}/gdb +%attr(755,root,root) %{_bindir}/gdbtui +%attr(755,root,root) %{_bindir}/gdb-add-index +%attr(755,root,root) %{_bindir}/gstack +%dir %{_datadir}/gdb +%dir %{_datadir}/gdb/auto-load +%dir %{_datadir}/gdb/auto-load%{_prefix} +%dir %{_datadir}/gdb/auto-load%{_prefix}/lib +%ifarch %{x8664} +%dir %{_datadir}/gdb/auto-load%{_prefix}/lib64 +%endif +%{_datadir}/gdb/syscalls +%{_datadir}/gdb/python +%{_mandir}/man1/gdb.1* +%{_mandir}/man1/gdbtui.1* +%{_mandir}/man1/gstack.1* %lang(es) %{_mandir}/es/man1/* %lang(fr) %{_mandir}/fr/man1/* %lang(hu) %{_mandir}/hu/man1/* %lang(ja) %{_mandir}/ja/man1/* %lang(pl) %{_mandir}/pl/man1/* -%{_infodir}/gdb*.info* -%{_infodir}/stabs*.info* +%{_infodir}/annotate.info* +%{_infodir}/gdb.info* +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* + +%files gdbserver +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/gdbserver +%{_mandir}/man1/gdbserver.1* +%attr(755,root,root) %{_libdir}/libinproctrace.so %files lib %defattr(644,root,root,755) +%{_libdir}/libdecnumber.a %{_libdir}/libgdb.a