Ciao a tutti,
Ho sviluppato una semplice gui in java per costruire pacchetti direttamente dal binario (testato su Fedora 18, non sono sicuro che sulle versioni precedenti funzioni)
Ecco uno screenshot:
https://a.fsdn.com/con/app/proj/javarpmbuilder/screenshots/rpmbuilder.png
Questa è la pagina che ho aperto per il progetto: %url%
Questi sono gli 8 passi che il programma compie in automatico ma che volendo si possono benissimo fare manualmente:
Prima di tutto bisogna installare rpmdevtools lanciando questi comandi come utente normale:
$ sudo yum install rpmdevtools rpmlint
$ rpmdev-setuptree
Nella cartella ~/rpmbuild/SPECS bisogna creare un nuovo file: package_name.spec
Apritelo con un editor (tipo gedit) e incollateci questo (modificando i campi con le informazioni che vi interessano):
Name: package_name
Version: 1.0
Release: 1
Summary: Breve descrizione (il primo carattere deve essere maiuscolo)
License: GPL
URL: https://tuo_sito/
BuildRequires: package_required >= (or ==, or <=) 1.0.3 (per esempio)
%description
La descrizione può avere al massimo 79 caratteri e deve iniziare per maiuscolo
#Questo è un commento (giusto a scopo dimostrativo)
%files
/usr/bin/binary_file.bin
/usr/share/applications/package_name.desktop
/usr/share/pixmaps/package_name.png
%changelog
data tuo_nome <tua_email> versione-revisione
#Per maggiori dettagli guarda: http://www.docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/Packagers_Guide/sect-Packagers_Guide-Creating_a_Basic_Spec_File.html
Crea ~/rpmbuild/BUILDROOT/package_name-versione-release.i386 e riproduci i percorsi dove desideri che i file verranno posti al momento dell’installazione:
Ad esempio in questo caso creiamo:
~/rpmbuild/BUILDROOT/package_name-versione-release.i386/usr/bin/
~/rpmbuild/BUILDROOT/package_name-versione-release.i386/usr/share/applications/
~/rpmbuild/BUILDROOT/package_name-versione-release.i386/usr/share/pixmaps/
Mettiamo in queste cartelle i file che vogliamo includere nel pacchetto:
~/rpmbuild/BUILDROOT/package_name-versione-release.i386/usr/bin/binary_file.bin
~/rpmbuild/BUILDROOT/package_name-versione-release.i386/usr/share/applications/package_name.desktop
~/rpmbuild/BUILDROOT/package_name-versione-release.i386/usr/share/pixmaps/package_name.png
usr/share/pixmaps/package_name.png è l’icona del binario
usr/share/applications/package_name.desktop sono le regole che permettono al programma di essere inserito nel menù
package_name.desktop deve essere tipo questo:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=esempio
GenericName=Breve descrizione
Comment=Commento dell’applicazione
Exec=package_name
Icon=package_name
Terminal=false
Categories=System;
le categorie le puoi vedere da qui: http://www.standards.freedesktop.org/menu-spec/latest/apa.html
Lancia $ rpmbuild -bb ~/rpmbuild/SPECS/package_name.spec
Il tuo pacchetto dovrebbe essere creato nella seguente cartella: ~/rpmbuild/RPMS
Installando questo pacchetto installerai:
/usr/bin/binary_file.bin
/usr/share/applications/package_name.desktop
/usr/share/pixmaps/package_name.png
Grazie a: http://www.losurs.org/docs/tips/redhat/binary-rpms
Per maggiori dettagli sulla costruzione dei pacchetti rpm guarda qui:
http://www.fedoraproject.org/wiki/How_to_create_an_RPM_package
http://www.docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/Packagers_Guide/sect-Packagers_Guide-Creating_a_Basic_Spec_File.html