Old:Creare pacchetti per Kde: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(→‎File di controllo: aggiunti un po' di dettagli)
 
(20 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
=Introduzione=
{{Old}}
La pacchettizzazione Debian di applicazioni per Kde , per certi versi, un po' oscura, e la documentazione a riguardo nascosta.
== Introduzione ==
Questo documento si prefigge l'obbiettivo di raccoglierla, per renderla pi� facilmente consultabile ed ampliabile.
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=
== 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 ./configure===
==== Modificare il <code>./configure</code> ====
TODO: inserire le note per admin/ e $(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:
<pre>
<pre>
-include debian/debiandirs
-include debian/debiandirs
Riga 17: Riga 20:
         perl -w admin/debianrules echodirs > debian/debiandirs
         perl -w admin/debianrules echodirs > debian/debiandirs
</pre>
</pre>
 
prima della sezione qui sotto riportata.
<pre>
<pre>
config.status: configure
config.status: configure
Riga 24: Riga 27:
         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>
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>


=La compilazione=
==== <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>.
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>.
 
== Documentazione ==
== File non Necessari ==
== Manpage ==
<pre>
$ kdemangen.pl
</pre>
 
== La compilazione ==


==Problemi con Buildd==
=== Problemi con Buildd ===
TODO: descrizione
TODO: descrizione
--enable-libsuffix=
--enable-libsuffix=
Riga 48: Riga 64:




=Bookmark=
== Bookmark ==
File:  
=== Documentazione Ufficiale ===
* ''/usr/share/doc/kdelibs4-dev/Packaging.txt.gz''
* [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/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.


Siti:
 
=== File ===
* <code>''/usr/share/doc/kdelibs4-dev/Packaging.txt.gz''</code>
 
 
=== Siti ===
* http://nm.debian.org
* http://nm.debian.org
{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
}}

Versione attuale delle 13:29, 22 mag 2016

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


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




Guida scritta da: MaXeR Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized