RPM-Spezifikationsdatei - Ist es möglich, eine Spezifikationsdateivariable dynamisch aufzufüllen?
Ich habe eine spec-Datei. Ich muss zu " %define a spec variable erhält Ihren Wert aus einer Zeile der Datei auf dem system.
Beispielsweise
%define path `cat /home/user/path_file`
und in path_file ist eine Zeile
/var/www/html/hosts
Diese teilweise funktioniert. Ich sagen, das beginnt in der RPM-BUILD-Ausgabe, die manchmal den Wert der ${path}
ist buchstäblich mein Befehl cat /home/user/path_file
und manchmal ist der Wert aus der Zeile in der path_file (/var/www/html/hosts), wie es sein sollte?
InformationsquelleAutor der Frage last_shogun | 2012-04-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie festlegen, rpmbuild-Variablen mit
%(cmd)
an der Spitze der spec-Datei. Hinweis der Befehl in den Klammern, nicht in geschwungenen Klammern. Ein Beispiel:Und anderswo in der spec-Datei, wie ein Skript oder das aufbauen/installieren Abschnitten, verwenden Sie die variable wie gewohnt in den geschweiften Klammern, zum Beispiel diese:
Den
cmd
kann alles sein, einschließlich Ihrer cat-Befehl. Seien Sie vorsichtig - wenn ein anderer Benutzer erstellt die spec-Datei es kann die Datei nicht finden. Es wird also bevorzugt der %{sourcedir} - makro wie dieses:Und stellen Sie sicher, dass
path_file
ist in das Verzeichnis der Quellen und enthalten, wie eine Quelle in der spec-Datei.InformationsquelleAutor der Antwort Corey Henderson