]> git.pld-linux.org Git - packages/gdb.git/blame_incremental - gdb.spec
- release 4
[packages/gdb.git] / gdb.spec
... / ...
CommitLineData
1# NOTE
2# - Do not remove -lib package, it is required by FPC
3
4# TODO
5# - change install msg to poldek in buildid-locate-rpm-pld.patch when poldek allows it. LP#493922
6#
7# Conditional build:
8%bcond_without python # build without python support
9
10Summary: A GNU source-level debugger for C, C++ and Fortran
11Summary(de.UTF-8): Symbolischer Debugger für C und andere Sprachen
12Summary(es.UTF-8): Depurador de programas C y otras lenguajes
13Summary(fr.UTF-8): Débugger symbolique pour C et d'autres langages
14Summary(pl.UTF-8): Symboliczny odpluskwiacz dla C i innych języków
15Summary(pt_BR.UTF-8): Depurador de programas C e outras linguagens
16Summary(ru.UTF-8): Символический отладчик для C и других языков
17Summary(tr.UTF-8): C ve diğer diller için sembolik hata ayıklayıcı
18Summary(uk.UTF-8): Символьний відладчик для С та інших мов
19Summary(zh_CN.UTF-8): [开发]C和其他语言的调试器
20Summary(zh_TW.UTF-8): [.-A開發]C和.$)B其.-A他語.$)B言的調試器
21Name: gdb
22Version: 7.0
23Release: 4
24License: GPL v3+
25Group: Development/Debuggers
26Source0: http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.bz2
27# Source0-md5: 3386a7b69c010785c920ffc1e9cb890a
28Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
29# Source1-md5: 2e8a48939ae282c12bbacdd54e398247
30Source3: %{name}-gstack.man
31Source4: libstdc++-v3-python-r151798.tar.bz2
32# Source4-md5: 7507540c50a1edeb2fc22a37bc4a08b8
33
34# FEDORA -- use the same numbering that they do
35# don't ever modify these patches, apply secondary patch to alter it pld way
36# use:'<,'>!grep -vE '^(\#|$)' in vim to filterout comments, spaces
37
38Patch1: %{name}-6.3-rh-dummykfail-20041202.patch
39Patch2: %{name}-6.3-rh-testversion-20041202.patch
40Patch3: %{name}-6.3-rh-testlibunwind-20041202.patch
41Patch104: %{name}-6.3-ppcdotsolib-20041022.patch
42Patch105: %{name}-6.3-ppc64syscall-20040622.patch
43Patch106: %{name}-6.3-framepczero-20040927.patch
44Patch111: %{name}-6.3-ppc64displaysymbol-20041124.patch
45Patch112: %{name}-6.6-scheduler_locking-step-sw-watchpoints2.patch
46Patch260: %{name}-6.6-scheduler_locking-step-is-default.patch
47Patch118: %{name}-6.3-gstack-20050411.patch
48Patch122: %{name}-6.3-test-pie-20050107.patch
49Patch124: %{name}-archer-pie.patch
50Patch389: %{name}-archer-pie-addons.patch
51Patch125: %{name}-6.3-test-self-20050110.patch
52Patch133: %{name}-6.3-test-dtorfix-20050121.patch
53Patch136: %{name}-6.3-test-movedir-20050125.patch
54Patch140: %{name}-6.3-gcore-thread-20050204.patch
55Patch141: %{name}-6.6-step-thread-exit.patch
56Patch259: %{name}-6.3-step-thread-exit-20050211-test.patch
57Patch142: %{name}-6.3-terminal-fix-20050214.patch
58Patch145: %{name}-6.3-threaded-watchpoints2-20050225.patch
59Patch148: %{name}-6.3-inheritance-20050324.patch
60Patch153: %{name}-6.3-ia64-gcore-page0-20050421.patch
61Patch157: %{name}-6.3-security-errata-20050610.patch
62Patch158: %{name}-6.3-ia64-sigtramp-frame-20050708.patch
63Patch160: %{name}-6.3-ia64-gcore-speedup-20050714.patch
64Patch161: %{name}-6.3-inferior-notification-20050721.patch
65Patch162: %{name}-6.3-ia64-info-frame-fix-20050725.patch
66Patch163: %{name}-6.3-inheritancetest-20050726.patch
67Patch164: %{name}-6.3-readnever-20050907.patch
68Patch169: %{name}-6.3-ia64-sigill-20051115.patch
69Patch170: %{name}-6.3-bt-past-zero-20051201.patch
70Patch176: %{name}-6.3-large-core-20051206.patch
71Patch177: %{name}-6.3-gstack-without-path-20060414.patch
72Patch188: %{name}-6.5-bz203661-emit-relocs.patch
73Patch190: %{name}-6.5-dwarf-stack-overflow.patch
74Patch194: %{name}-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
75Patch195: %{name}-6.5-tls-of-separate-debuginfo.patch
76Patch196: %{name}-6.5-sharedlibrary-path.patch
77Patch199: %{name}-6.5-bz190810-gdbserver-arch-advice.patch
78Patch201: %{name}-6.5-gcore-i386-on-amd64.patch
79Patch211: %{name}-6.5-last-address-space-byte-test.patch
80Patch208: %{name}-6.5-BEA-testsuite.patch
81Patch209: %{name}-6.5-readline-long-line-crash.patch
82Patch213: %{name}-6.5-readline-long-line-crash-test.patch
83Patch214: %{name}-6.5-bz216711-clone-is-outermost.patch
84Patch215: %{name}-6.5-bz218379-ppc-solib-trampoline-fix.patch
85Patch216: %{name}-6.5-bz218379-ppc-solib-trampoline-test.patch
86Patch217: %{name}-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
87Patch225: %{name}-6.5-bz109921-DW_AT_decl_file-test.patch
88Patch229: %{name}-6.3-bz140532-ppc-unwinding-test.patch
89Patch231: %{name}-6.3-bz202689-exec-from-pthread-test.patch
90Patch232: %{name}-7.0-upstream.patch
91Patch234: %{name}-6.6-bz230000-power6-disassembly-test.patch
92Patch235: %{name}-6.3-bz231832-obstack-2gb.patch
93Patch240: %{name}-6.6-bz225783-prelink-path.patch
94Patch241: %{name}-6.6-bz225783-gdb-debuginfo-paths.patch
95Patch245: %{name}-6.6-bz229517-gcore-without-terminal.patch
96Patch247: %{name}-6.6-bz235197-fork-detach-info.patch
97Patch249: %{name}-6.6-gcore32-test.patch
98Patch254: %{name}-6.6-testsuite-timeouts.patch
99Patch258: %{name}-6.6-bz237572-ppc-atomic-sequence-test.patch
100Patch261: %{name}-6.6-readline-system.patch
101Patch263: %{name}-6.3-attach-see-vdso-test.patch
102Patch265: %{name}-6.6-bz247354-leader-exit-fix.patch
103Patch266: %{name}-6.6-bz247354-leader-exit-test.patch
104Patch271: %{name}-6.5-bz243845-stale-testing-zombie-test.patch
105Patch274: %{name}-6.6-buildid-locate.patch
106Patch353: %{name}-6.6-buildid-locate-rpm.patch
107Patch282: %{name}-6.7-charsign-test.patch
108Patch284: %{name}-6.7-ppc-clobbered-registers-O2-test.patch
109Patch287: %{name}-6.7-testsuite-stable-results.patch
110Patch289: %{name}-6.5-ia64-libunwind-leak-test.patch
111Patch290: %{name}-6.5-missed-trap-on-step-test.patch
112Patch293: %{name}-6.7-bz426600-DW_TAG_interface_type-fix.patch
113Patch294: %{name}-6.7-bz426600-DW_TAG_interface_type-test.patch
114Patch296: %{name}-6.5-gcore-buffer-limit-test.patch
115Patch298: %{name}-6.6-threads-static-test.patch
116Patch304: %{name}-6.7-kernel-headers-compat.patch
117Patch309: %{name}-6.3-mapping-zero-inode-test.patch
118Patch311: %{name}-6.3-focus-cmd-prev-test.patch
119Patch314: %{name}-6.3-watchpoint-cond-gone-test.patch
120Patch315: %{name}-6.8-bz442765-threaded-exec-test.patch
121Patch317: %{name}-6.8-sparc64-silence-memcpy-check.patch
122Patch318: %{name}-6.8-gcc35998-ada-memory-trash.patch
123Patch320: %{name}-6.5-section-num-fixup-test.patch
124Patch322: %{name}-6.8-constant-watchpoints.patch
125Patch324: %{name}-6.8-glibc-headers-compat.patch
126Patch326: %{name}-6.8-tui-singlebinary.patch
127Patch350: %{name}-6.8-inlining-addon.patch
128Patch328: %{name}-6.8-inlining-by-name.patch
129Patch329: %{name}-6.8-bz254229-gcore-prpsinfo.patch
130Patch330: %{name}-6.8-bz436037-reg-no-longer-active.patch
131Patch331: %{name}-6.8-quit-never-aborts.patch
132Patch332: %{name}-6.8-fortran-tag-constant.patch
133Patch337: %{name}-6.8-attach-signalled-detach-stopped.patch
134Patch343: %{name}-6.8-watchpoint-conditionals-test.patch
135Patch348: %{name}-6.8-bz466901-backtrace-full-prelinked.patch
136Patch349: %{name}-archer.patch
137Patch352: %{name}-6.8-bz457187-largefile.patch
138Patch360: %{name}-6.8-bz457187-largefile-test.patch
139Patch375: %{name}-readline-6.0.patch
140Patch376: libstdc++-v3-python-common-prefix.patch
141Patch381: %{name}-simultaneous-step-resume-breakpoint-test.patch
142Patch382: %{name}-core-open-vdso-warning.patch
143Patch383: %{name}-bz528668-symfile-sepcrc.patch
144Patch384: %{name}-bz528668-symfile-cleanup.patch
145Patch385: %{name}-bz528668-symfile-multi.patch
146Patch387: %{name}-bz539590-gnu-ifunc.patch
147Patch388: %{name}-bz538626-bp_location-accel-bp-cond.patch
148Patch390: %{name}-readline-6.0-signal.patch
149Patch391: %{name}-x86_64-i386-syscall-restart.patch
150
151# PLD patches
152Patch1000: %{name}-readline.patch
153Patch1001: %{name}-info.patch
154Patch1002: %{name}-passflags.patch
155Patch1005: %{name}-pretty-print-by-default.patch
156Patch1006: buildid-locate-rpm-pld.patch
157URL: http://www.gnu.org/software/gdb/
158BuildRequires: autoconf >= 2.53
159BuildRequires: automake
160BuildRequires: bison
161BuildRequires: expat-devel
162BuildRequires: flex
163BuildRequires: libtool
164BuildRequires: ncurses-devel >= 5.2
165BuildRequires: pkgconfig
166BuildRequires: readline-devel
167BuildRequires: rpmbuild(macros) >= 1.219
168BuildRequires: texinfo >= 4.4
169BuildRequires: zlib-devel
170%if %{with python}
171BuildRequires: python-devel
172BuildRequires: rpm-pythonprov
173%endif
174BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
175
176%description
177Gdb is a full featured, command driven debugger. Gdb allows you to
178trace the execution of programs and examine their internal state at
179any time. Gdb works for C and C++ compiled with the GNU C compiler
180gcc.
181
182%description -l de.UTF-8
183dem Sie die Ausführung von Programmen verfolgen und jederzeit den
184inneren Zustand überprüfen können. Er funktioniert für C und mit GNU C
185kompiliertes C++.
186
187%description -l es.UTF-8
188Este es un debugger orientado a comandos repleto de características.
189Te permite rastrear la ejecución de programas y examinar su estado
190interno a cualquier momento. Funciona para C y C++ compilado con el
191compilador GNU C.
192
193%description -l fr.UTF-8
194Débugger complet, piloté par commandes. Permet de tracer l'exécution
195des programmes et d'examiner à tout moment leur état interne.
196Fonctionne avec les binaires C et C++ compilés avec le compilateur C
197de GNU, gcc.
198
199%description -l pl.UTF-8
200Gdb jest rozbudowanym odpluskwiaczem (debuggerem), pozwalającym
201śledzić wykonywanie programu i badać jego stan wewnętrzny. Gdb
202umożliwia odpluskwianie programów napisanych w C/C++ i skompilowanych
203przy pomocy kompilatora GNU (gcc).
204
205%description -l pt_BR.UTF-8
206Este é um debugger orientado a comandos repleto de características.
207Ele permite à você rastrear a execução de programas e examinar o seu
208estado interno a qualquer momento. Ele funciona para para C e C++
209compilado com o compilador GNU C.
210
211%description -l ru.UTF-8
212Это полноценный отладчик, управляемый командами. Он позволяет
213трассировать исполнение программ и изучать их внутреннее состояние в
214любой момент времени. Работает с программами на C и C++,
215скомпилированными GNU компилятором C (gcc, egcs, pgcc).
216
217%description -l tr.UTF-8
218Bir komut arayüzü üzerinden programcıya programını adım adım izleme
219(trace) ve herhangi bir anda programın durumunu inceleme olanağı
220verir.
221
222%description -l uk.UTF-8
223Це повноцінний відладчик, що керується командами. Він дозволяє
224трасувати виконання програм та вивчати їх внутрішній стан в довільний
225момент часу. Працює з програмами на C та C++, зкомпільованими
226компіляторами GNU C (gcc, egcs, pgcc).
227
228%package gdbserver
229Summary: A standalone server for GDB (the GNU source-level debugger)
230Group: Development/Debuggers
231
232%description gdbserver
233GDB, the GNU debugger, allows you to debug programs written in C, C++,
234Java, and other languages, by executing them in a controlled fashion
235and printing their data.
236
237This package provides a program that allows you to run GDB on a
238different machine than the one which is running the program being
239debugged.
240
241%package -n python-%{name}
242Summary: GDB Python bindings
243Summary(pl.UTF-8): Wiązania PackageKit dla Pythona
244Group: Development/Languages/Python
245Requires: python-libs
246
247%description -n python-%{name}
248GDB Python bindings.
249
250%package lib
251Summary: GDB in the form of a static library
252Summary(pl.UTF-8): GDB w postaci biblioteki statycznej
253Group: Development/Debuggers
254#Requires: binutils-devel >= 2.17.50
255
256%description lib
257GDB in the form of a static library.
258
259%description lib -l pl.UTF-8
260GDB w postaci biblioteki statycznej.
261
262%prep
263%setup -q
264
265# libstdc++ pretty printers.
266bzip2 -dc %{SOURCE4} | tar xf -
267
268# Files have `# <number> <file>' statements breaking VPATH / find-debuginfo.sh .
269rm -f gdb/ada-exp.c gdb/ada-lex.c gdb/c-exp.c gdb/cp-name-parser.c gdb/f-exp.c
270rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
271
272# FEDORA PATCHES -- keep them in same order they do
273%patch2 -p1
274%patch232 -p1
275%patch349 -p1
276%patch383 -p1
277%patch384 -p1
278%patch385 -p1
279%patch124 -p1
280%patch1 -p1
281%patch3 -p1
282%patch104 -p1
283%patch105 -p1
284%patch106 -p1
285%patch111 -p1
286%patch112 -p1
287%patch118 -p1
288%patch122 -p1
289%patch125 -p1
290%patch133 -p1
291%patch136 -p1
292%patch140 -p1
293%patch141 -p1
294%patch259 -p1
295%patch142 -p1
296%patch145 -p1
297%patch148 -p1
298%patch153 -p1
299%patch157 -p1
300%patch158 -p1
301%patch160 -p1
302%patch161 -p1
303%patch162 -p1
304%patch163 -p1
305%patch164 -p1
306%patch169 -p1
307%patch170 -p1
308%patch176 -p1
309%patch177 -p1
310%patch188 -p1
311%patch190 -p1
312%patch194 -p1
313%patch195 -p1
314%patch196 -p1
315%patch199 -p1
316%patch201 -p1
317%patch208 -p1
318%patch209 -p1
319%patch211 -p1
320%patch213 -p1
321%patch214 -p1
322%patch215 -p1
323%patch216 -p1
324%patch217 -p1
325%patch225 -p1
326%patch229 -p1
327%patch231 -p1
328%patch234 -p1
329%patch235 -p1
330%patch240 -p1
331%patch241 -p1
332%patch245 -p1
333%patch247 -p1
334%patch249 -p1
335%patch254 -p1
336%patch258 -p1
337%patch260 -p1
338%patch261 -p1
339%patch263 -p1
340%patch265 -p1
341%patch266 -p1
342%patch271 -p1
343%patch274 -p1
344%patch353 -p1
345%patch282 -p1
346%patch284 -p1
347%patch287 -p1
348%patch289 -p1
349%patch290 -p1
350%patch293 -p1
351%patch294 -p1
352%patch296 -p1
353%patch298 -p1
354%patch304 -p1
355%patch309 -p1
356%patch311 -p1
357%patch314 -p1
358%patch315 -p1
359%patch317 -p1
360%patch318 -p1
361%patch320 -p1
362%patch322 -p1
363%patch324 -p1
364%patch326 -p1
365%patch350 -p1
366%patch328 -p1
367%patch329 -p1
368%patch330 -p1
369%patch331 -p1
370%patch332 -p1
371%patch337 -p1
372%patch343 -p1
373%patch348 -p1
374%patch352 -p1
375%patch360 -p1
376%patch375 -p1
377%patch376 -p1
378%patch381 -p1
379%patch382 -p1
380%patch387 -p1
381%patch388 -p1
382%patch389 -p1
383%patch390 -p1
384%patch391 -p1
385
386# PLD patches
387%patch1000 -p1
388%patch1001 -p1
389%patch1002 -p1
390%patch1005 -p1
391%patch1006 -p1
392
393mv $(basename %{SOURCE4} .tar.bz2) libstdcxxpython
394
395# Change the version that gets printed at GDB startup, so it is PLD Linux specific.
396cat > gdb/version.in << EOF
397PLD Linux (%{version}-%{release})
398EOF
399
400%build
401for dir in $(find gdb -name 'configure.in'); do
402 dir=$(dirname "$dir")
403 olddir=$(pwd)
404 cd $dir
405 rm -f aclocal.m4
406 %{__aclocal}
407 %{__autoconf}
408 %{__autoheader}
409 cd $olddir
410done
411cp -f /usr/share/automake/config.* .
412# don't --enable-shared here, there would be libs version mismatch with binutils
413%configure \
414 --with-gdb-datadir=%{_datadir}/gdb \
415 --with-separate-debug-dir=/usr/lib/debug \
416%if %{with python}
417 --with-python \
418 --with-pythondir=%{py_sitescriptdir} \
419%else
420 --without-python \
421%endif
422 --disable-gdbtk \
423 --disable-shared \
424 --enable-gdbcli \
425 --enable-gdbmi \
426 --enable-multi-ice \
427 --enable-netrom \
428 --enable-nls \
429 --enable-tui \
430 --with-cpu=%{_target_cpu} \
431%ifnarch alpha
432 --with-mmalloc \
433%endif
434 --without-included-gettext \
435 --without-included-regex \
436 --without-x
437
438%{__make} -j1
439%{__make} -j1 info
440
441%install
442rm -rf $RPM_BUILD_ROOT
443install -d $RPM_BUILD_ROOT%{_infodir}
444
445%{__make} -j1 install install-info \
446 DESTDIR=$RPM_BUILD_ROOT
447
448# gdbtui seems all identical to gdb except when invoked as gdbtio, ncurses
449# window is created too.
450echo ".so gdb.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gdbtui.1
451ln -f $RPM_BUILD_ROOT%{_bindir}/{gdb,gdbtui}
452
453bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
454cp -a gdb/libgdb.a $RPM_BUILD_ROOT%{_libdir}
455
456rm -f $RPM_BUILD_ROOT%{_infodir}/dir
457rm -f $RPM_BUILD_ROOT%{_mandir}/README.gdb-non-english-man-pages
458
459%if %{with python}
460# Temporarily now:
461for LIB in lib lib64; do
462 LIBPATH="$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{_prefix}/$LIB"
463 install -d $LIBPATH
464 # basename is being run only for the native (non-biarch) file.
465 sed -e 's,@pythondir@,%{_datadir}/gdb/python,' \
466 -e 's,@toolexeclibdir@,%{_prefix}/'"$LIB," \
467 < libstdcxxpython/hook.in \
468 > $LIBPATH/$(basename %{_prefix}/%{_lib}/libstdc++.so.6.*)-gdb.py
469done
470cp -a libstdcxxpython/libstdcxx $RPM_BUILD_ROOT%{py_sitescriptdir}
471
472%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
473%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
474%py_postclean
475%endif
476
477cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/gstack.1
478
479# Remove the files that are part of a gdb build but that are owned and provided by other packages.
480# These are part of binutils
481rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
482rm -f $RPM_BUILD_ROOT%{_infodir}/bfd*
483rm -f $RPM_BUILD_ROOT%{_infodir}/standard*
484rm -f $RPM_BUILD_ROOT%{_infodir}/mmalloc*
485rm -f $RPM_BUILD_ROOT%{_infodir}/configure*
486rm -rf $RPM_BUILD_ROOT%{_includedir}
487rm -rf $RPM_BUILD_ROOT%{_libdir}/lib{bfd*,opcodes*,iberty*,mmalloc*}
488
489%clean
490rm -rf $RPM_BUILD_ROOT
491
492%post -p /sbin/postshell
493-/usr/sbin/fix-info-dir -c %{_infodir}
494
495%postun -p /sbin/postshell
496-/usr/sbin/fix-info-dir -c %{_infodir}
497
498%files
499%defattr(644,root,root,755)
500%doc gdb/{ChangeLog,NEWS,PROBLEMS,README}
501%attr(755,root,root) %{_bindir}/gdb
502%attr(755,root,root) %{_bindir}/gdbtui
503%attr(755,root,root) %{_bindir}/gstack
504%dir %{_datadir}/gdb
505%{_datadir}/gdb/syscalls
506%{_mandir}/man1/gdb.1*
507%{_mandir}/man1/gdbtui.1*
508%{_mandir}/man1/gstack.1*
509%lang(es) %{_mandir}/es/man1/*
510%lang(fr) %{_mandir}/fr/man1/*
511%lang(hu) %{_mandir}/hu/man1/*
512%lang(ja) %{_mandir}/ja/man1/*
513%lang(pl) %{_mandir}/pl/man1/*
514%{_infodir}/annotate.info*
515%{_infodir}/gdb.info*
516%{_infodir}/gdbint.info*
517%{_infodir}/stabs.info*
518
519%if %{with python}
520%files -n python-%{name}
521%defattr(644,root,root,755)
522%dir %{py_sitescriptdir}/gdb
523%{py_sitescriptdir}/gdb/*.py[co]
524%dir %{py_sitescriptdir}/gdb/command
525%{py_sitescriptdir}/gdb/command/*.py[co]
526%dir %{py_sitescriptdir}/gdb/function
527%{py_sitescriptdir}/gdb/function/*.py[co]
528
529# likely oneday gcc.spec will provide this
530%dir %{py_sitescriptdir}/libstdcxx
531%{py_sitescriptdir}/libstdcxx/*.py[co]
532%dir %{py_sitescriptdir}/libstdcxx/v6
533%{py_sitescriptdir}/libstdcxx/v6/*.py[co]
534
535# or should we include it in base package?
536%{_datadir}/gdb/auto-load
537%endif
538
539%files gdbserver
540%defattr(644,root,root,755)
541%attr(755,root,root) %{_bindir}/gdbserver
542%{_mandir}/man1/gdbserver.1*
543
544%files lib
545%defattr(644,root,root,755)
546%{_libdir}/libgdb.a
This page took 0.037563 seconds and 4 git commands to generate.