Old:Creare pacchetti per Kde: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
(corretta gerarchia titoli)
Riga 1: Riga 1:
=Introduzione=
== Introduzione ==
La [[pacchettizzazione]] Debian di applicazioni per Kde è, per certi versi, un po' oscura, e la documentazione a riguardo è nascosta.
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.
Questo documento si prefigge l'obbiettivo di raccoglierla, per renderla più facilmente consultabile ed ampliabile.


=File di controllo=
== File di controllo ==
==control: le dipendenze==
=== 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.
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.
Oltre a questo va aggiunto il pacchetto '''autobuild1.8''' usato nel processo di compilazione.


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


Riga 28: Riga 28:
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.
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 compressione 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 <code>''gzip -9''</code>.
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>.


Riga 38: Riga 38:
</pre>
</pre>


===<code>shlibs</code>: 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 <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>.
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 alle 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 <code>/usr/lib/kde3</code>; se così non fosse, è sufficiente un <code>'''--libdir=/usr/lib/kde3'''</code>.
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 ==
=File non Necessari=
== File non Necessari ==
=Manpage=
== Manpage ==
<pre>
<pre>
$ kdemangen.pl
$ kdemangen.pl
</pre>
</pre>


=La compilazione=
== La compilazione ==


==Problemi con Buildd==
=== Problemi con Buildd ===
TODO: descrizione
TODO: descrizione
--enable-libsuffix=
--enable-libsuffix=
Riga 63: Riga 63:




=Bookmark=
== Bookmark ==
==Documentazione Ufficiale==
=== Documentazione Ufficiale ===
* [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/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).  
Riga 70: Riga 70:




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




==Siti==
=== Siti ===
* http://nm.debian.org
* http://nm.debian.org


[[Categoria:Apt-Dev]]
[[Categoria:Apt-Dev]]
[[Categoria:Da Adottare]]
[[Categoria:Da Adottare]]

Versione delle 16:04, 7 feb 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