RPM/debuginfo: различия между версиями

Материал из ALT Linux Wiki
< RPM
(пакеты называются -debuginfo, а не -debug)
(-debuginfo, а не -debug)
Строка 9: Строка 9:


== Использование ==
== Использование ==
При сборке пакета с помощью {{pkg|rpm-build}} >= 4.0.4-alt100.15 будут автоматически порождаться подпакеты {{pkg|*-debug}}, содержащие {{path|/usr/{lib,src}/debug/*}}.  На x86_64 с ними работает {{pkg|gdb}} >= 7.2-alt1<ref>[http://lists.altlinux.org/pipermail/devel/2011-January/187933.html "gdb ищет символы в /usr/lib64/debug вместо /usr/lib/debug. Можно временно кинуть символическую ссылку, пока gdb не пофиксят"] (crux@ в devel@)</ref>.
При сборке пакета с помощью {{pkg|rpm-build}} >= 4.0.4-alt100.15 будут автоматически порождаться подпакеты {{pkg|*-debuginfo}}, содержащие {{path|/usr/{lib,src}/debug/*}}.  На x86_64 с ними работает {{pkg|gdb}} >= 7.2-alt1<ref>[http://lists.altlinux.org/pipermail/devel/2011-January/187933.html "gdb ищет символы в /usr/lib64/debug вместо /usr/lib/debug. Можно временно кинуть символическую ссылку, пока gdb не пофиксят"] (crux@ в devel@)</ref>.


Если для чего-либо они нежелательны, отключение производится посредством макросов <tt>%brp_strip_debug</tt> и <tt>%brp_strip_none</tt><ref>см. тж. [http://lists.altlinux.org/pipermail/devel/2011-February/188023.html их обсуждение]</ref>.  Пример:
Если для чего-либо они нежелательны, отключение производится посредством макросов <tt>%brp_strip_debug</tt> и <tt>%brp_strip_none</tt><ref>см. тж. [http://lists.altlinux.org/pipermail/devel/2011-February/188023.html их обсуждение]</ref>.  Пример:

Версия от 08:50, 21 марта 2011


Цель

Поддержка автоматической генерации подпакетов с дополнительной отладочной информацией[1].

Реализация

Доступна начиная с 4.0.4-alt100.14[2]. Обучена автоматически проставлять зависимости между подпакетами *-debuginfo.

Использование

При сборке пакета с помощью rpm-build >= 4.0.4-alt100.15 будут автоматически порождаться подпакеты *-debuginfo, содержащие /usr/{lib,src}/debug/*. На x86_64 с ними работает gdb >= 7.2-alt1[3].

Если для чего-либо они нежелательны, отключение производится посредством макросов %brp_strip_debug и %brp_strip_none[4]. Пример:

%brp_strip_none /boot/*

Следует избегать обобщений вида

%files 
%_libdir/*

— при этом /usr/lib{,64}/debug/*.debug может попытаться попасть в обычный пакет, о чём можно судить по ошибке вида[5]

ldd: ERROR: /usr/src/tmp/paraview-buildroot/usr/lib/debug/usr/bin/pvserver.debug: trace failed

Примечания