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

Материал из ALT Linux Wiki
< RPM
м (→‎Реализация: +RPmS.debuginfo)
м (→‎Использование: отключение -- не использование)
Строка 12: Строка 12:
== Использование ==
== Использование ==
При сборке пакета с помощью {{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>.
При сборке пакета с помощью {{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>%set_strip_method</tt>).  Пример:
%brp_strip_none /boot/*


Следует избегать обобщений вида
Следует избегать обобщений вида
Строка 21: Строка 18:
— при этом {{path|/usr/lib{,64}/debug/*.debug}} может попытаться попасть в обычный пакет, о чём можно судить по ошибке вида<ref>[http://lists.altlinux.org/pipermail/devel/2011-March/189232.html at@ в devel@]</ref>
— при этом {{path|/usr/lib{,64}/debug/*.debug}} может попытаться попасть в обычный пакет, о чём можно судить по ошибке вида<ref>[http://lists.altlinux.org/pipermail/devel/2011-March/189232.html at@ в devel@]</ref>
  ldd: ERROR: /usr/src/tmp/paraview-buildroot/usr/lib/debug/usr/bin/pvserver.debug: trace failed
  ldd: ERROR: /usr/src/tmp/paraview-buildroot/usr/lib/debug/usr/bin/pvserver.debug: trace failed
== Отключение ==
Если для чего-либо {{pkg|*-debuginfo}} нежелательны, отключение производится посредством макросов <tt>%brp_strip_debug</tt> и <tt>%brp_strip_none</tt><ref>см. тж. [http://lists.altlinux.org/pipermail/devel/2011-February/188023.html их обсуждение]</ref> (вместо ранее использовавшегося <tt>%set_strip_method</tt>).  Пример:
%brp_strip_none /boot/*


== Примечания ==
== Примечания ==
<references/>
<references/>

Версия от 12:49, 29 декабря 2013


Цель

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

Реализация

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

Результаты для Sisyphus, t6, p6 складываются в отдельный RPMS.debuginfo.

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

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

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

%files 
%_libdir/*

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

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

Отключение

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

%brp_strip_none /boot/*

Примечания