GLM - 2/3/2021 - 22:58
Classifica dei relatori GLM 2014 (per numero di lezioni svolte)
- [9] Samuele Cacchiarelli
- [6] Andrea Bianchini
- [6] Gianluca Gabrielli
- [1] Matteo Ciccioli
- [1] Fabio Pagnotta
- [1] Alessandro Zampa
- [1] Emanuele
- [1] Roberto Marozzi
- [1] Giampiero Rubini
Vuoi diventare relatore GLM? presenta anche tu una lezione su un argomento che più ti piace relativo a Linux o al mondo dell'OpenSource
Archivio news
Come Ottenere un file RPM dai propri sorgenti
3. Il file Ciao_Mondo.spec passo per passo
Di seguito spiegherò in maniera abbastanza approfondita come è fatto il file Ciao_Mondo.spec del nostro esempio.
Chiaramente, mi limiterò a commentare le opzioni usate nel suddetto file, ma tenete conto che il mondo dei pacchetti RPM
è molto più ampio e complicato. Se volete un riferimento, io ho trovato un aiuto prezioso nel documento Red Hat
"Maximun RPM : Taking the Red Hat Package Manager to the Limit" che è in inglese (non si può avere tutto dalla vita! )
, ma probabilmente, ad oggi, potrebbe esistere anche la versione in italiano.
Comunque, tenete conto che chi si avvicina a Linux, deve necessariamente saper leggere l'inglese scritto.
NOTATE che Il codice del file è scritto in nero mentre i miei commenti (che non sono da inserire nel file) sono scritti in bianco.
Innanzi tutto, non sono presenti le sezioni di "Script di install/uninstall" e di "Verifica"
, in quanto non necessarie per i miei scopi.
Poi, in generale, non è necessario usarle, a meno che non scriviate programmi molto complicati o dobbiate installare anche
delle librerie.
Preambolo
Sotto mi sono defino alcune variabili che mi faranno comodo in seguito.
%define name Ciao_Mondo
Di seguito ci sono (più o meno) tutti i parametri che bisogna usare per
Name: %{name}
Notate come mi sono costruito il nome del file .tar.gz (nome-versione).
URL: none
Questo parametro è importante se volete permettere a qualsiasi utente di
License: GPL Chi sviluppa sotto Linux dovrebbe distribuire le sorgenti sotto licenza GPL.
%description
La descrizione vera e propria è una variabile da definire.
Sezione Prep
%prep
Qui prima cancello e pulisco la directory di lavoro e poi chiamo la MACRO
Sezione Build
%build
Qui basta chiamare il comando "make" per compilare le sorgenti.
Sezione Install
%install
Qui basta chiamare il comando "make install" per far partire la simulazione
Sezione Clean
%clean
Alla fine di tutto il processo cancello la directory di lavoro ed anche
File List
Qui Oltre alla lista dei file bisogna notare alcune direttive interessanti:
%files
Lista dei file vera e propria %{instdir}/%{name} Fine lista dei file
%doc README NEWS COPYING AUTHORS ChangeLog
Fate attenzione alla data che DEVE essere scritta in questo modo.
|
Conclusioni finali
Il modo migliore per IMPARARE qualcosa è quella di studiarci sopra e sbatterci più volte il muso.
Se vi siete scaricati il pacchetto (lo trovate nel capitolo 1) contente tutti i file necessari (e funzionanti),
avete una base interessante su cui lavorare per costruire i vostri pacchetti RPM.
Io, non ho avuto modo di testare il processo di compilazione su distribuzioni Debian e Slackware; comunque, se
qualcuno di voi ci prova e mi manda gli eventuali BUG ne sarei molto grato.
Sicuramente il processo funziona senza errori su distribuzioni Red-Hat, Suse e Mandrake Linux.
Ho evitato di parlare dei Makefile per la compilazione del programma in C perché non sono argomento di questo Tutorial
e perché li considero facenti parte dei pre-requisiti del Tutorial.
Appena posso metterò in linea anche il capitolo 4 che spiega a fondo il log del processo di costruzione del pacchetto.
Chiunque ne voglia sapere di più mi può trovare senza problemi all' indirizzo e-mail a fondo pagina.
Precede il capitolo 2
Andrea Paternesi
Last Update 30/03/2003
mail