Как сделать RPack CPack DebugInfo зависимым от RPM времени выполнения - PullRequest
0 голосов
/ 03 июня 2019

Я успешно использую Cmake версии 3.13.4 (на CentOS 7) для сборки C ++ проект, а затем с помощью CPack (из CMake) для создания двух RPM, RUNTIME и РАЗРАБОТКА. Я установил DEVEL в зависимости от RUNTIME, используя:

SET(CPACK_RPM_DEVEL_PACKAGE_REQUIRES "${PROJECT_NAME} == ${FULL_VERSION}-${RELEASE_STRING}%{?dist}")

Это работает именно так, как я хочу; требует, чтобы пакет DEVEL имел точно такая же версия выпуска RUNTIME установлена.

Я также использую: SET(CPACK_RPM_RUNTIME_DEBUGINFO_PACKAGE ON), чтобы создать отдельный RPM для debuginfo для кода в моем RPM времени выполнения. Это также работает как задумано, в точку. Если у пользователя установлены все три RPM, Все отлично. Затем они узнают, что обновление (всех трех об / мин) было размещены в репозитории, поэтому они запускают «sudo yum update myRpm-devel», зная, что это также обновит пакет времени выполнения. К сожалению, это не обновляет пакет debuginfo, поэтому они больше не синхронизированы.

Я искал и пытался использовать CPACK_RPM_<COMPONENT_NAME>_DEBUGINFO_PACKAGE_REQUIRES переменная из CMake, но это не сработало, и поскольку я использую CPack для генерации своих файлов SPEC, я не могу увидеть другой способ их изменения. CPack генерирует только два файла SPEC, один для РАЗРАБОТКА и один для РАБОТЫ, и дополнительные инструкции к сгенерируйте debuginfo в файле SPEC RUNTIME.

Есть ли способ установить пакетные требования для RPM-пакетов debuginfo?

...