Рейтинг:1

rpm: как отключить отладочную информацию

флаг ro

ОС РедХат 8.4

Я знаю, что имея %debug_package макрос в спец. файл создаст отладочную информацию для пакета и создаст mypackage-debuginfo-<ВЕРСИЯ>.<АРКА> об/мин. Однако забавно то, что в файле спецификации, который у меня есть, нет этого макроса, а отладочная информация уже построена.

Однако на вершине спец. файле есть несколько глобальных переменных:

%global _hardened_build 1
%глобальный системный репозиторий 0
%undefine _missing_build_ids_terminate_build
%define _unpackaged_files_terminate_build 0

Интересно, позволяет ли один из них %debug_package макрос?

Рейтинг:1
флаг cn

Вкратце: добавьте следующую строку в свой спецификационный файл:

%global debug_package %{nil}

Вы не упомянули, что это за ОС, но мой опыт таков. debuginfo генерируется автоматически для бинарных пакетов, и вы должны конкретно отключите его для пакетов, отличных от noarch.

Как отключить описано здесь: https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/#_useless_or_incomplete_debuginfo_packages_due_to_other_reasons

Если вы хотите отключить создание бесполезного пакета debuginfo пока жду улучшений найти-debuginfo.sh или если это маловероятно, что его можно улучшить, чтобы получить хорошую отладочную информацию для ваш пакет (например, нет файлов, зависящих от архитектуры, но пакет не является noarch из-за используемых им путей установки), используйте %global debug_package %{nil} в specfile и не забудьте добавить комментарий рядом с объяснением, почему это было сделано.

И если это не работает в вашей версии, вы можете просмотреть вывод следующей команды:

об/мин --showrc

На моей версии Rocky 8.5 я вижу, что пакет_отладки макрос определяет дополнительный пакет, поэтому установите его в %{ноль} эффективно отключает его. Вы также можете увидеть, как ноарх пакеты не имеют отладочной информации.

$ об/мин --showrc| sed -ne '/^-13: пакет_отладки/,/^-/p'
-13: отладочный_пакет
%ifnarch ноарх
%global __debug_package 1
%_debuginfo_template
%{?_debugsource_packages:%_debugsource_template}
%endif
%{ноль}
-13: определено %{expand:%%{?%{1}:1}%%{!?%{1}:0}}
флаг ro
Большое спасибо, это помогло. Он действительно был определен в выводе `rpm --showrc`.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.