Mit
FPM lassen sich diverse Paketformate ineinander umwandeln. So kann man z.B. auf einfache Weise Python-Pakete in RPMs abfüllen. Hier am Beispiel von Ansible.
Grundlage ist eine Defaultinstallation eines Redhat-/Centos-Oracle Linux 7-Systems. Zunächst müssen einige vorausgesetzte Pakete installiert werden:
yum install python-devel ruby-devel gcc make
Nun kann FPM installiert werden:
gem install fpm
Ebenfalls benötigt wird pip:
easy_install pip
Jetzt kann mit FPM das ansible-RPM erzeugt werden:
fpm -s python -t rpm ansible
Nun die Abhängigkeiten anzeigen:
rpm -qRp python-ansible-2.1.1.0-1.noarch.rpm
python-paramiko
python-jinja2
python-pyyaml
python-setuptools
python-pycrypto >= 2.6
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
Alle
python-*
müssen nun auch noch mit FPM bereitgestellt werden:
fpm -s python -t rpm paramiko
fpm -s python -t rpm jinja2
fpm -s python -t rpm pyyaml
fpm -s python -t rpm setuptools
fpm -s python -t rpm pycrypto
Die erzeugten RPMs können nun z.B. in einem lokalen Repository zur Installation mit yum zur Verfügung gestellt werden.