RPM/debuginfo: различия между версиями
м (→Реализация: t6/p6+) |
м (→Отключение: текущая ситуация) |
||
Строка 21: | Строка 21: | ||
== Отключение == | == Отключение == | ||
Если для чего-либо {{pkg|*-debuginfo}} нежелательны, отключение | Если для чего-либо {{pkg|*-debuginfo}} нежелательны (например, имеют превышающий предел размера rpm-пакета объём), отключение [https://lists.altlinux.org/pipermail/devel/2019-May/207852.html производится] посредством макроса <tt>%add_debuginfo_skiplist</tt> или глобальной переменной <tt>__find_debuginfo_files</tt>: | ||
%global __find_debuginfo_files %nil | |||
%add_debuginfo_skiplist %_bindir | |||
%brp_strip_none %_bindir/* | |||
См. тж. [http://lists.altlinux.org/pipermail/devel/2011-February/188023.html обсуждение] <tt>%brp_strip_debug</tt> и <tt>%brp_strip_none</tt> вместо ранее использовавшегося <tt>%set_strip_method</tt>. | |||
<!-- | |||
Как вариант: | Как вариант: | ||
%define debug_package %nil | %define debug_package %nil | ||
--> | |||
== Примечания == | == Примечания == | ||
<references/> | <references/> |
Версия от 07:27, 6 мая 2019
Цель
Поддержка автоматической генерации подпакетов с дополнительной отладочной информацией[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 нежелательны (например, имеют превышающий предел размера rpm-пакета объём), отключение производится посредством макроса %add_debuginfo_skiplist или глобальной переменной __find_debuginfo_files:
%global __find_debuginfo_files %nil %add_debuginfo_skiplist %_bindir %brp_strip_none %_bindir/*
См. тж. обсуждение %brp_strip_debug и %brp_strip_none вместо ранее использовавшегося %set_strip_method.
Примечания
- ↑ #19707
- ↑ позднее доводилась, к использованию рекомендуется начиная с 4.0.4-alt100.21
- ↑ "gdb ищет символы в /usr/lib64/debug вместо /usr/lib/debug. Можно временно кинуть символическую ссылку, пока gdb не пофиксят" (crux@ в devel@)
- ↑ at@ в devel@