Old:Pacchettizzare un tema per Bootsplash: differenze tra le versioni

m
Nessun oggetto della modifica
 
(15 versioni intermedie di 8 utenti non mostrate)
Riga 1: Riga 1:
=Introduzione=
{{Old}}
==Introduzione==
 
{{Warningbox|I pacchetti descritti in questa guida non sono più disponibili. Tale pagina non viene cancellata in quanto raccoglie informazioni utili per la pacchettizzazione di software in Debian}}
 
Il pacchetto bootsplash per Debian, presente nei repository:
Il pacchetto bootsplash per Debian, presente nei repository:
<pre>
<pre>
deb
deb http://debian.bootsplash.de unstable main
deb-src
deb-src http://debian.bootsplash.de unstable main
</pre>
</pre>
molto comodo per la gestione dei temi, ma ha un ''difetto'': utilizza debconf per la gestione dei temi. Questo porta ad un effetto collaterale: i temi installati manualmente non saranno riconosciuti e per poterli usare si dovranno eseguire operazioni scomode (rispetto ad un semplice ''dpkg-reconfigure bootsplash'' :-) ).
è molto comodo per la gestione dei temi, ma ha un ''difetto'': utilizza debconf per la gestione dei temi. Questo porta ad un effetto collaterale: i temi installati manualmente non saranno riconosciuti e per poterli usare si dovranno eseguire operazioni scomode (rispetto ad un semplice <code>dpkg-reconfigure bootsplash</code> :-) ).


Vedremo, ora, come creare un pacchetto Debian contenente un tema, e come gestire il template di debconf per aggiornare la lista dei temi.
Vedremo, ora, come creare un pacchetto Debian contenente un tema, e come gestire il template di debconf per aggiornare la lista dei temi.


=Requisiti=
{{Box|Nota Bene:|gli script qui descritti non sono opera mia, ma di [mailto:oliver_at_dediziert_dot_org Oliver Sorge], che mantiene i temi presenti nel repository sopra riportato}}
 
==Requisiti==
Per poter creare un pacchetto Debian dobbiamo installare i seguenti pacchetti:
Per poter creare un pacchetto Debian dobbiamo installare i seguenti pacchetti:
* build-essential
* build-essential
Riga 16: Riga 22:
* debhelper
* debhelper


=Creazione del pacchetto=
==Creazione del pacchetto==
Estraiamo il pacchetto contenente il tema, e rinominiamo la directory contenente il tema in un formato del tipo ''bootsplash-theme-<nometema>-<versione>''.
Estraiamo il pacchetto contenente il tema, e rinominiamo la directory contenente il tema in un formato del tipo <code>bootsplash-theme-<nometema>-<versione></code>.


La directory deve contenere le directory images, ...
La directory deve contenere le directory images, ...


Una volta completato, lanciamo il comando  
Una volta completato, lanciamo il comando:
<pre>
<pre>
$ dh_make --copyright GPL
$ dh_make --copyright GPL
</pre>
</pre>
ovviamente dopo aver verificato la licenza del tema...
ovviamente dopo aver verificato la licenza del tema.


Alla domanda
Alla domanda:
<pre>
<pre>
Type of package: single binary, multiple binary, library, or kernel module?
Type of package: single binary, multiple binary, library, or kernel module?
  [s/m/l/k]</pre> rispondiamo con una ''s''.
  [s/m/l/k]</pre> rispondiamo con una ''s''.


Controlliamo i dati riportati (per il nome e l'email possiamo usare le variabili d'ambiente $DEBEMAIL e $DEBFULLNAME); se tutto corretto possibile andare avanti.
Controlliamo i dati riportati (per il nome e l'email possiamo usare le variabili d'ambiente <code>$DEBEMAIL</code> e <code>$DEBFULLNAME</code>); se tutto è corretto è possibile andare avanti.


Verr� cos� creata la directory debian/, contenente tutto il necessario per il nostro pacchetto.
Verrà così creata la directory <code>debian/</code>, contenente tutto il necessario per il nostro pacchetto.


==La directory debian/*==
===La directory <code>debian/*</code>===
===Rimozione dei file non necessari===
====Rimozione dei file non necessari====
La directory debian/ contiene molti file non necessari, che possiamo tranquillamente rimuovere:
La directory <code>debian/</code> contiene molti file non necessari, che possiamo tranquillamente rimuovere:
<pre>
<pre>
$ cd debian
$ cd debian
Riga 44: Riga 50:
</pre>
</pre>


===.templates===
====<code>.templates</code>====
Dobbiamo creare il template utilizzato da debconf. Creiamo, quindi, un file del tipo ''bootsplash-theme-<nometema>.template'' con il seguente contenuto:
Dobbiamo creare il template utilizzato da debconf. Creiamo, quindi, un file del tipo <code>bootsplash-theme-<nometema>.template</code> con il seguente contenuto:
<pre>
<pre>
Template: shared/bootsplash-theme
Template: shared/bootsplash-theme
Riga 62: Riga 68:
  remember to include the proper (vga=???) line in your lilo.conf.
  remember to include the proper (vga=???) line in your lilo.conf.
</pre>
</pre>
Ricordandoci di sostituire a ''<nometema>'' il nome del nostro tema ed eventualmente sistemare i valori delle risoluzioni.
Ricordandoci di sostituire a <code><nometema></code> il nome del nostro tema ed eventualmente sistemare i valori delle risoluzioni.


===rules===
====<code>rules</code>====
Il file ''debian/rules'' necessit� di molte modifiche... Conviene, quindi, sostituire il contenuto con questo:
Il file <code>debian/rules</code> necessita di molte modifiche. Conviene, quindi, sostituire il contenuto con questo:
<pre>
<pre>
#!/usr/bin/make -f
#!/usr/bin/make -f
Riga 128: Riga 134:
</pre>
</pre>


ricordando le seguente cose:
ricordando le seguenti cose:
* fare attenzione ad usare la tabulazioni (tasto <tab>) al posto degli spazi per le indentazioni (obbligatorie)!
* fare attenzione ad usare la tabulazioni (tasto <code><tab></code>) al posto degli spazi per le indentazioni (obbligatorie)!
* modificare la variabile THEME_DIRS riportando solo le directory presenti all'interno della directory ''<nometema>-<versione>'' ad eccezione di ''debian''.
* modificare la variabile <code>THEME_DIRS</code> riportando solo le directory presenti all'interno della directory <code><nometema>-<versione></code> ad eccezione di <code>debian</code>.
* modificare la variabile THEME_SUFFIX con il nome del tema.
* modificare la variabile <code>THEME_SUFFIX</code> con il nome del tema.


===control===
====<code>control</code>====
Il file ''debian/control'' necessita di alcune modifiche:
Il file <code>debian/control</code> necessita di alcune modifiche:
* ''Section'' dovrebbe essere modificata in ''graphics''
* <code>Section</code> dovrebbe essere modificata in <code>graphics</code>
* ''Architecture'' pu� essere modificato in ''all'', visto che il pacchetto non sar� dipendente dall'architettura
* <code>Architecture</code> può essere modificato in <code>all</code>, visto che il pacchetto non sarà dipendente dall'architettura
* ''Depends'' pu� essere modificato in ''bootsplash (>= 3.0.0), debconf (>= 0.5) | debconf-2.0''
* <code>Depends</code> può essere modificato in <code>bootsplash (>= 3.0.0), debconf (>= 0.5) | debconf-2.0</code>
* deve essere aggiunta la riga ''Provides: bootsplash-theme''
* deve essere aggiunta la riga <code>Provides: bootsplash-theme</code>
* la descrizione deve essere modificata nel seguente modo (in linea coi pacchetti di http://www.bootsplash.de ):  
* la descrizione deve essere modificata nel seguente modo (in linea coi pacchetti di http://www.bootsplash.de ):  
<pre>Description: The bootsplash theme <nometema>
<pre>Description: The bootsplash theme <nometema>
Riga 146: Riga 152:
  Resolutions: 1280x1024</pre>
  Resolutions: 1280x1024</pre>


===dirs===
====dirs====
Dovr� contenere
Dovrà contenere:
<pre>
<pre>
etc/bootsplash/themes/<nometema>
etc/bootsplash/themes/<nometema>
</pre>
</pre>


===docs===
====docs====
Dovr� contenere
Dovrà contenere:
<pre>
<pre>
docs/*
docs/*
</pre>
</pre>
se la directory presente nei sorgenti del tema (altrimenti si pu� omettere questo file).
se la directory è presente nei sorgenti del tema (altrimenti si può omettere questo file).


===postinst===
====postinst====
Usiamo direttamente quelli creati per i pacchetti dei temi presenti su http://www.bootsplash.org :
Usiamo direttamente quelli creati per i pacchetti dei temi presenti su http://www.bootsplash.org:
<pre>
<pre>
#! /bin/sh
#! /bin/sh
Riga 205: Riga 211:
exit 0
exit 0
</pre>
</pre>
===postrm===
====postrm====
<pre>
<pre>
#! /bin/sh
#! /bin/sh
Riga 269: Riga 275:
</pre>
</pre>


===prerm===
====prerm====
<pre>
<pre>
#! /bin/sh
#! /bin/sh
Riga 318: Riga 324:
</pre>
</pre>


=Compilazione=
==Compilazione==
La compilazione di un pacchetto semplicissima: nella dorectory contenente i sorgenti diamo il seguente comando:
La compilazione di un pacchetto è semplicissima: nella directory contenente i sorgenti diamo il seguente comando:
<pre>
<pre>
$ dpkg-buildpackage
$ dpkg-buildpackage
</pre>
</pre>
se tutto va a buon fine, verr� creato un pacchetto debian nella directory superiore.
se tutto va a buon fine, verrà creato un pacchetto Debian nella directory superiore.


=Test del pacchetto=
==Test del pacchetto==
L'unico modo per testare il pacchetto installarlo (dpkg -i pacchetto.deb) e riconfigurare il pacchetto bootsplash (dpkg-reconfigure bootsplash)... se tutto stato fatto correttamente, nella lista apparir� il nuovo tema...
L'unico modo per testare il pacchetto è installarlo (<code>dpkg -i pacchetto.deb</code>) e riconfigurare il pacchetto bootsplash (<code>dpkg-reconfigure bootsplash</code>): se tutto è stato fatto correttamente, nella lista apparirà il nuovo tema.


=Conclusioni=
==Conclusioni==
La guida qui riportata frutto dell'analisi dei pacchetti ''bootsplash-theme-*'' presenti nel repository di http://www.bootsplash.de ;)
La guida qui riportata è frutto dell'analisi dei pacchetti <code>bootsplash-theme-*</code> presenti nel repository di http://www.bootsplash.de ;)
{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
}}
3 581

contributi