rpmbuild einfache Kopie von Dateien

uf der Suche nach jemandem, der nur das @ verdeutlic%install Makro, wenn es nur um das Platzieren von Dateien geht. Ich habe ein fehlerfreies RPM erstellt, das nur Dateien aus der Buildroot-Datei in das Verzeichnis / usr / lib kopieren soll. Was ich in der SPEC-Datei für die% install habe, ist die folgende und basiert aufdieser Beitra. Ich denke, das würde ausreichen, damit die RPM-Datei die Dateien von der Buildroot in das Verzeichnis / usr / lib kopiert.

Das ist, was ich versucht habe und es baut:

%install
mkdir -p %{buildroot}/usr/lib
install -d %{buildroot}/usr/lib/

Rethinking, ich denke, lass uns die Drehzahl angeben, in die ich die Dateien kopieren möchte. Also habe ich es versucht:

%install
mkdir -p %{buildroot}/usr/lib
cp %{buildroot}/usr/lib/ /usr/lib/

Nun, das sich darüber beschwert, dass der / usr / lib / -Pfad nicht vom Benutzer beschreibbar ist. Ich erstelle die RPM wie auf der Build-Maschine. Welches ist mein Eindruck, dass%installer Abschnitt @ der Spezifikationsdatei sollte Anweisungen darüber enthalten, wohin die Dateien kopiert werden sollen, wenn die RPM auf dem Zielserver installiert wird. Ich möchte nicht, dass das lokale Dateisystem nach dem RPM-Build-Server durchsucht wird. Dahinter steckt zwar, dass das RPM erstellt werden sollte, aber es sollte erst bei der Installation der RPM fehlschlagen, wenn ich versuche, die RPM als nicht privilegierter Benutzer zu installieren. Es sollte während des Builds egal sein. Ich versuche lediglich, einige lib-Dateien in das Verzeichnis / usr / lib auf dem Server zu kopieren / zu extrahieren, auf dem ich die rpm installiere.

Meine Annahme ist, dass die RPM den BUILDROOT-Speicherort auf dem Server erstellt, auf dem ich die RPM installiere, und dann den Inhalt vom Buildroot-Speicherort zum angegebenen Zielspeicherort kopiert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage