Как сделать так, чтобы cpack не добавлял необходимые библиотеки в RPM?

Я пытаюсь преобразовать нашу систему сборки на работе в cmake и столкнулся с интересной проблемой с RPM, которые он генерирует (через cpack): он автоматически добавляет все зависимости, которые он считает ваши RPM, в свой список необходимых библиотеки.

В целом, это здорово, но в моем случае это катастрофично. К сожалению, пакеты для разработки, которые мы создаем, в конечном итоге устанавливаются с помощью одного нашего собственного инструмента, который использует rpm для установки их в отдельную базу данных RPM из системной. Это глупо, но я не могу это изменить. Это означает, что все системные библиотеки, на которые будет опираться любая нормальная библиотека (например, libc или libpthread), отсутствуют в базе данных RPM, которая используется с нашими пакетами разработки. Итак, если RPM для одного из наших пакетов разработки перечисляет системные библиотеки как необходимые, то мы не можем установить его, поскольку rpm будет считать, что они не установлены (поскольку они перечислены в обычной базе данных, а не в одной что ему говорят использовать при установке наших пакетов). Наша текущая сборка прекрасно справляется с этим, потому что она не перечисляет никакие системные библиотеки как зависимости в RPM, но cpack автоматически заполняет список необходимых библиотек RPM и помещает туда системные библиотеки. Мне нужен способ помешать этому.

Я пробовал настройкуCPACK_RPM_PACKAGE_REQUIRES в"", но это не имеет никакого эффекта. RPM cpack генерирует все еще заканчивается системные библиотеки, перечисленные как необходимые. Все, что я могу сейчас сделать, это скопировать генератор RPM cpack и взломать его, чтобы сделать то, что я хочу, и использовать его вместо стандартного, но я бы предпочел этого избежать. Кто-нибудь есть идеи, как я мог получить cpack, чтобы остановить заполнение RPM необходимыми библиотеками?

Ответы на вопрос(2)

Ваш ответ на вопрос