Wie schaffen Sie es, dass cpack einem RPM nicht die erforderlichen Bibliotheken hinzufügt?

Ich versuche, unser Build-System bei der Arbeit auf cmake umzustellen, und bin auf ein interessantes Problem mit den RPMs gestoßen, die es generiert (über cpack): Es fügt automatisch alle Abhängigkeiten hinzu, von denen es denkt, dass Ihre RPM erforderlich ist Bibliotheken.

Im Allgemeinen ist das großartig, aber in meinem Fall ist es katastrophal. Leider werden die von uns erstellten Entwicklungspakete mit einem unserer selbst entwickelten Tools installiert, das rpm verwendet, um sie in einer vom System getrennten RPM-Datenbank zu installieren. Es ist dumm, aber ich kann es nicht ändern. Dies bedeutet, dass alle Systembibliotheken, auf die sich eine normale Bibliothek stützt (wie libc oder libpthread), nicht in der RPM-Datenbank enthalten sind, die mit unseren Entwicklungspaketen verwendet wird. Wenn also ein RPM für eines unserer Entwicklungspakete Systembibliotheken als erforderlich auflistet, können wir es nicht installieren, da rpm annimmt, dass sie nicht installiert sind (da sie in der normalen Datenbank und nicht in der einen Datenbank aufgelistet sind) dass es bei der Installation unserer Pakete verwendet werden soll). Unser aktuelles Build-Material erledigt dies in Ordnung, da es keine Systembibliotheken als Abhängigkeiten in den RPMs auflistet, sondern die Liste der erforderlichen RPM-Bibliotheken automatisch mit cpack gefüllt und die Systembibliotheken dort abgelegt werden. Ich brauche eine Möglichkeit, das zu verhindern.

Ich habe versucht, Einstellungen vorzunehmenCPACK_RPM_PACKAGE_REQUIRES zu"", aber das hat keine Wirkung. Das von RPM cpack generierte Paket enthält immer noch die Systembibliotheken, die als erforderlich aufgeführt sind. Ich kann mir jetzt nur vorstellen, den RPM-cpack-Generator zu kopieren und ihn zu hacken, um das zu tun, was ich will, und anstatt des Standard-Generators zu verwenden, aber ich würde es vorziehen, das zu vermeiden. Hat jemand eine Idee, wie ich cpack dazu bringen könnte, das RPM nicht mehr mit den erforderlichen Bibliotheken zu füllen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage