Я успешно использую 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?