FPM

Siehe auch

FPM ist ein in Ruby geschriebenes Open Source Tool, um die teils frustrierende RPM-Paketerstellung und -pflege zu vereinfachen. Es erzeugt ein Paket mit einem einzigen Aufruf und benötigt im Idealfall dazu nur die Quellen. Sehr schön ist, dass es nicht nur RPMs, sondern auch Pakete für Debian/Ubuntu, Solaris, Mac OS X, Puppet und andere Formate erzeugen kann.

Die Parameterliste ist kilometerlang. Mehr Informationen findet man per fpm --help oder im fpm-Wiki.

Installation und Konfiguration

dnf -y install gem ruby-devel gcc
gem install fpm

Paket erzeugen

Im Beispiel wird einfach mal Nano 2.3.1 compiliert.

yum -y install autoconf automake gettext-devel ncurses-devel texinfo

# set compile options
./configure --prefix=/usr
make

rm -rf /tmp/installdir
mkdir /tmp/installdir
make install DESTDIR=/tmp/installdir

Mit diesem Aufruf erzeugt FPM das passende RPM-Paket:

fpm --chdir /tmp/installdir \
    --epoch 10 \
    --force \
    --input-type dir \
    --name nano \
    --output-type rpm \
    --version 2.3.1 \
    usr/bin

Das erzeugte nano-2.3.1-1.x86_64.rpm lässt sich entweder direkt per rpm --install --verbose nano-2.3.1-1.x86_64.rpm installieren (ohne Paket-Abhängigkeiten aufzulösen), oder mittels yum localinstall nano-2.3.1-1.x86_64.rpm.

Built on 2022-06-03