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