Metainformationen zur Seite
RPM-Build-Umgebung
Was brauche ich alles um selbst RPM-Päckchen bauen zu können?
yum -y install rpm-build gcc gcc-c++ autoconf automake
Wie gehts nun weiter? Man hat sich ein src.rpm gezogen und hätte nun gern ein .rpm für die Installation daraus, z.B.:
rpm -Uvh /usr/src/redhat/SRPMS/passwordmanager-1.2.4-3.fc8.ov.src.rpm cd /usr/src/redhat/SPECS rpmbuild -ba passwordmanager.spec ...
Sollten für den Build-Vorgang noch Pakete fehlen, werden diese jetzt angezeigt. Die fehlenden Pakete müssen dann noch nachinstalliert werden.
Wenn alles geklappt hat, kommt am Ende etwa folgende Ausgabe:
... Wrote: /usr/src/redhat/SRPMS/passwordmanager-1.2.4-3.fc8.ov.src.rpm Wrote: /usr/src/redhat/RPMS/i386/passwordmanager-1.2.4-3.fc8.ov.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/passwordmanager-debuginfo-1.2.4-3.fc8.ov.i386.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.51792 + umask 022 + cd /usr/src/redhat/BUILD + cd pwmanager-1.2.4 + /bin/rm -rf /var/tmp/passwordmanager-1.2.4-3.fc8.ov-root + exit 0
Das neugebaute rpm-Paket liegt jetzt unter /usr/src/redhat/RPMS/i386/passwordmanager-1.2.4-3.fc8.ov.i386.rpm. Durch den -ba (Build All)-Parameter wurde rpmbuild angewiesen ebenfalls das src-RPM und die debuginfo zu verpacken. Das neue src-RPM ist natürlich nur dann wichtig, falls man irgendwas am Orginal-src-rpm verändert hat, etwa Änderungen im .spec-File oder eine neue Version/neue Patches der Software integriert hat.
Diskussion