RPM/debuginfo
Цель
Поддержка автоматической генерации подпакетов с дополнительной отладочной информацией[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/*
Как вариант:
%define debug_package %nil
Примечания
- ↑ #19707
- ↑ позднее доводилась, к использованию рекомендуется начиная с 4.0.4-alt100.21
- ↑ "gdb ищет символы в /usr/lib64/debug вместо /usr/lib/debug. Можно временно кинуть символическую ссылку, пока gdb не пофиксят" (crux@ в devel@)
- ↑ at@ в devel@
- ↑ см. тж. их обсуждение