2012-03-28 4 views
1

Ich versuche eine Spec-Datei (RPM) für eine wahnsinnig große Software zu machen. Der Kompiliervorgang dauert ungefähr 5 Stunden und ich möchte die Spezifikationsdatei für installierte Dateien nicht alle 5 Stunden überprüfen.Sanfte Wege, eine .spec-Datei für wahnsinnig große Software zu machen

Gibt es ein Tool zum Generieren von Spezifikationsdateien? Ich bin nicht besorgt über die Abhängigkeiten, wie ich sie manuell einstellen kann.

+0

Was Sie tun können - und was Projekte wie Linux-Distributionen auch tun - ist die Verwendung mehrerer .spec-Dateien, die auf dem gleichen Satz von Quelldateien (Tarballs, Patches, etc.) arbeiten, verschiedene Teile kompilieren und/oder mit verschiedenen Optionen , 1. Reduziere die Umsatzzeit, um potenzielle Fehler zu untersuchen, 2. führe mehr Parallelität während des Builds ein, 3. kann Bootstrap sein. Zum Beispiel: avahi- {glib2, mono, qt4,}. Spec in openSUSE. –

Antwort

0

rpmdev-newspec wird Ihnen das Skelett einer Spec-Datei geben. Von dort können Sie die verschiedenen Abschnitte abstimmen. Sie finden reichlich Mengen von --short-circuit nützlich, aber stellen Sie sicher, dass es mindestens einmal von Anfang bis Ende sauber erstellt.

+0

Ich hatte bereits einige Spezifikationen in der Vergangenheit, aber jedes Mal, wenn ich den Befehl rpm build mehrmals starten muss (und den Code mehrere Male kompiliere, gibt es eine Möglichkeit, die (zukünftigen) installierten Dateien zu erkennen und eine Liste von Dateien zu erstellen Zur Installation und Dateien Abschnitt der Spezifikation – Freaktor

+0

Die Sache ist, dass, wenn ein Paket komplex genug ist, um automatisiert werden zu müssen, dann ist es normalerweise zu komplex zu automatisieren.Nachdem Sie jeden der Schritte ('-bc',' -bi') Sie können 'short-circuit' verwenden, um mit dem nächsten Schritt zu beginnen, vorausgesetzt, dass sie nichts destruktives tun (was sie nicht sollten; destruktive Operationen sollten nur in prep und compile passieren). –