Old:Creare pacchetti per Kde: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (→‎Introduzione: voce glossario)
Nessun oggetto della modifica
Riga 9: Riga 9:


==rules==
==rules==
===Modificare il ./configure===
===Modificare il <code>./configure</code>===
Esiste un modo semplice per passare le opzioni corrette al ''configure'' di un pacchetto Debian: '''$(configkde)'''
Esiste un modo semplice per passare le opzioni corrette al <code>''configure''</code> di un pacchetto Debian: <code>'''$(configkde)'''</code>


è necessario, quindi, inserire le seguenti righe:
è necessario, quindi, inserire le seguenti righe:
Riga 26: Riga 26:
         CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info $(configkde)
         CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info $(configkde)
</pre>
</pre>
Come è possibile osservare, inoltre, è stato aggiunta la variabile ''$(configkde)'' che conterrà, al momento del lancio del ''./configure'' i parametri con i relativi valori corretti.
Com'è possibile osservare, inoltre, è stato aggiunta la variabile <code>''$(configkde)''</code> che conterrà, al momento del lancio del <code>''./configure''</code> i parametri con i relativi valori corretti.


===Evitare la compressio delle pagine del manuale di Kde===
===Evitare la compressione delle pagine del manuale di Kde===
Secondo la [http://www.debian.org/doc/debian-policy/ debian policy] tutta la [http://www.debian.org/doc/debian-policy/ch-docs.html#s12.3 documentazione addizionale] deve essere compressa con ''gzip -9''.
Secondo la [http://www.debian.org/doc/debian-policy/ debian policy] tutta la [http://www.debian.org/doc/debian-policy/ch-docs.html#s12.3 documentazione addizionale] deve essere compressa con <code>''gzip -9''</code>.


Questo procedimento, però, porta a un problema molto grave: ''khelpcenter'' non supporta la documentazione in formato compresso, quindi se i file rappresentanti la documentazione per ''khelpcenter'' vengono compressi, questi non saranno consultabili.
Questo procedimento, però, porta a un problema molto grave: ''khelpcenter'' non supporta la documentazione in formato compresso, quindi se i file rappresentanti la documentazione per ''khelpcenter'' vengono compressi, questi non saranno consultabili.


Per ovviare a questo inconveniente, è necessario modificare, all'interno di '''debian/rules''' la chiamata a dh_compress, esplicitando quali file dovranno essere esclusi:
Per ovviare a questo inconveniente, è necessario modificare, all'interno di <code>'''debian/rules'''</code> la chiamata a <code>dh_compress</code>, esplicitando quali file dovranno essere esclusi:
<pre>
<pre>
dh_compress -X.docbook -X.css -X-license -X.dcl -X.bz2 -X.kmdr
dh_compress -X.docbook -X.css -X-license -X.dcl -X.bz2 -X.kmdr
</pre>
</pre>


===shlibs: possibili problemi===
===<code>shlibs</code>: possibili problemi===
Spesso, dopo la compilazione di un pacchetto, è possibile ricevere dei warning, da parte di lintian, sul fatto che il pacchetto contiene delle librerie in /usr/lib. Il tutto è normalissimo, in quando in /usr/lib devono essere presenti solo le librerie contenute in pacchetti di tipo libreria ''lib*''.
Spesso, dopo la compilazione di un pacchetto, è possibile ricevere dei warning, da parte di lintian, sul fatto che il pacchetto contiene delle librerie in <code>/usr/lib</code>. Il tutto è normalissimo, in quanto in <code>/usr/lib</code> devono essere presenti solo le librerie contenute in pacchetti di tipo libreria <code>''lib*''</code>.
Le librerie delle applicazioni per kde che sono utili solo all'applicazioni, normalmente, possono essere incluse direttamente nel pacchetto.
Le librerie delle applicazioni per kde che sono utili solo alle applicazioni, normalmente, possono essere incluse direttamente nel pacchetto.
Se il programma è ben fatto, comunque, le librerie di questo tipo dovrebbero essere già collocate in /usr/lib/kde3; se così non fosse, è sufficiente un '''--libdir=/usr/lib/kde3'''.
Se il programma è ben fatto, comunque, le librerie di questo tipo dovrebbero essere già collocate in <code>/usr/lib/kde3</code>; se così non fosse, è sufficiente un <code>'''--libdir=/usr/lib/kde3'''</code>.


=Documentazione=
=Documentazione=
Riga 65: Riga 65:
=Bookmark=
=Bookmark=
==Documentazione Ufficiale==
==Documentazione Ufficiale==
* [http://www.debian.org/doc/devel-manuals#policy Debian Policy]<br/> Questo manuale descrive le linee guida (policy) per la distribuzione Debian GNU/Linux. Esse descrivono la struttura ed i contenuti di un archivio Debian, alcune problematiche dipendenti dal sistema operativo ed i requisiti tecnici che ogni pacchetto deve soddisfare per essere incluso nella distribuzione.
* [http://www.debian.org/doc/devel-manuals#policy Debian Policy]<br/> Questo manuale espone le linee guida (policy) per la distribuzione Debian GNU/Linux. Esse descrivono la struttura ed i contenuti di un archivio Debian, alcune problematiche dipendenti dal sistema operativo ed i requisiti tecnici che ogni pacchetto deve soddisfare per essere incluso nella distribuzione;
* [http://www.debian.org/doc/manuals/developers-reference/index.en.html Debian Developer's Reference]<br/>Questo manuale descrive le procedure e le risorse per i manutentori Debian. Spiega come diventare un nuovo sviluppatore, le procedure di invio, come utilizzare il nostro "bug tracking system", le mailing list, i server Internet, ecc.<br/>Questo manuale è pensato come una guida di riferimento per tutti gli sviluppatori Debian (sia nuovi che vecchi).  
* [http://www.debian.org/doc/manuals/developers-reference/index.en.html Debian Developer's Reference]<br/>Questo manuale descrive le procedure e le risorse per i manutentori Debian. Spiega come diventare un nuovo sviluppatore, le procedure di invio, come utilizzare il nostro "bug tracking system", le mailing list, i server Internet, ecc.<br/>Questo manuale è pensato come una guida di riferimento per tutti gli sviluppatori Debian (sia nuovi che vecchi).  
* [http://www.debian.org/doc/manuals/maint-guide/index.en.html Debian New Maintainers' Guide]<br/> Questo documento prova a descrivere la costruzione di un pacchetto Debian GNU/Linux al comune utente Debian (ed agli aspiranti sviluppatori) con un linguaggio semplice e fornendo degli esempi pratici.
* [http://www.debian.org/doc/manuals/maint-guide/index.en.html Debian New Maintainers' Guide]<br/> Questo documento prova a descrivere la costruzione di un pacchetto Debian GNU/Linux al comune utente Debian (ed agli aspiranti sviluppatori) con un linguaggio semplice e fornendo degli esempi pratici.
Riga 71: Riga 71:


==File==
==File==
* ''/usr/share/doc/kdelibs4-dev/Packaging.txt.gz''
* <code>''/usr/share/doc/kdelibs4-dev/Packaging.txt.gz''</code>





Versione delle 10:44, 12 gen 2010

Introduzione

La pacchettizzazione Debian di applicazioni per Kde è, per certi versi, un po' oscura, e la documentazione a riguardo è nascosta. Questo documento si prefigge l'obbiettivo di raccoglierla, per renderla più facilmente consultabile ed ampliabile.

File di controllo

control: le dipendenze

Un utile modo per avere sempre le dipendenze giuste (in un buon 90% dei casi) è quello di inserire tra queste il pacchetto kdelibs4-dev, che comporta, nel momento della risoluzione delle dipendenze, l'installazione di buona parte delle librerie normalmente richieste. Oltre a questo va aggiunto il pacchetto autobuild1.8 usato nel processo di compilazione.

rules

Modificare il ./configure

Esiste un modo semplice per passare le opzioni corrette al configure di un pacchetto Debian: $(configkde)

è necessario, quindi, inserire le seguenti righe:

-include debian/debiandirs

debian/debiandirs: admin/debianrules
        perl -w admin/debianrules echodirs > debian/debiandirs

prima della sezione qui sotto riportata.

config.status: configure
        dh_testdir
        # Add here commands to configure the package.
        CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info $(configkde)

Com'è possibile osservare, inoltre, è stato aggiunta la variabile $(configkde) che conterrà, al momento del lancio del ./configure i parametri con i relativi valori corretti.

Evitare la compressione delle pagine del manuale di Kde

Secondo la debian policy tutta la documentazione addizionale deve essere compressa con gzip -9.

Questo procedimento, però, porta a un problema molto grave: khelpcenter non supporta la documentazione in formato compresso, quindi se i file rappresentanti la documentazione per khelpcenter vengono compressi, questi non saranno consultabili.

Per ovviare a questo inconveniente, è necessario modificare, all'interno di debian/rules la chiamata a dh_compress, esplicitando quali file dovranno essere esclusi:

dh_compress -X.docbook -X.css -X-license -X.dcl -X.bz2 -X.kmdr

shlibs: possibili problemi

Spesso, dopo la compilazione di un pacchetto, è possibile ricevere dei warning, da parte di lintian, sul fatto che il pacchetto contiene delle librerie in /usr/lib. Il tutto è normalissimo, in quanto in /usr/lib devono essere presenti solo le librerie contenute in pacchetti di tipo libreria lib*. Le librerie delle applicazioni per kde che sono utili solo alle applicazioni, normalmente, possono essere incluse direttamente nel pacchetto. Se il programma è ben fatto, comunque, le librerie di questo tipo dovrebbero essere già collocate in /usr/lib/kde3; se così non fosse, è sufficiente un --libdir=/usr/lib/kde3.

Documentazione

File non Necessari

Manpage

$ kdemangen.pl

La compilazione

Problemi con Buildd

TODO: descrizione --enable-libsuffix=

Yes,

--enable-libsuffix=

has no parameter! This option is needed to prevent configure from looking at 64 bit libraries.


Bookmark

Documentazione Ufficiale

  • Debian Policy
    Questo manuale espone le linee guida (policy) per la distribuzione Debian GNU/Linux. Esse descrivono la struttura ed i contenuti di un archivio Debian, alcune problematiche dipendenti dal sistema operativo ed i requisiti tecnici che ogni pacchetto deve soddisfare per essere incluso nella distribuzione;
  • Debian Developer's Reference
    Questo manuale descrive le procedure e le risorse per i manutentori Debian. Spiega come diventare un nuovo sviluppatore, le procedure di invio, come utilizzare il nostro "bug tracking system", le mailing list, i server Internet, ecc.
    Questo manuale è pensato come una guida di riferimento per tutti gli sviluppatori Debian (sia nuovi che vecchi).
  • Debian New Maintainers' Guide
    Questo documento prova a descrivere la costruzione di un pacchetto Debian GNU/Linux al comune utente Debian (ed agli aspiranti sviluppatori) con un linguaggio semplice e fornendo degli esempi pratici.


File

  • /usr/share/doc/kdelibs4-dev/Packaging.txt.gz


Siti