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