Pacchetti binari e sorgenti: differenze tra le versioni

Riga 147: Riga 147:
apache  apacheconfig  apachectl</pre>
apache  apacheconfig  apachectl</pre>


==Pacchetti sorgenti==
== Pacchetti sorgente ==


I pacchetti sorgenti sono costituiti da due archivi e un file di testo:  
I pacchetti sorgente possono essere di due tipi:
un file <code>.dsc</code> che descrive il pacchetto, un archivio <code>.orig.tar.gz</code> che
;pacchetti nativi: sorgenti la cui struttura e contenuto aderisce alla [[Debian Policy]]. A partire da questi pacchetti è possibile costruire un file .deb .
contiene i sorgenti originali del software, e un <code>.diff.gz</code> contenente le
;pacchetti non nativi: sorgenti non pensati specificamente per Debian e che, pertanto, necessitano di modifiche da parte dei [[Debian Mantainers]] o dei [[Debian Developers]] per poter costituire la base per la creazione di un pacchetto binario .deb .
patch applicate da Debian al pacchetto.


<pre> # apt-get source irssi-text
=== Pacchetti non nativi ===
Reading Package Lists... Done
I pacchetti sorgente non nativi costituiscono la stragrande maggioranza dei file sorgente e, prima di poter entrare a far parte di un [[repository]] Debian, devono essere modificati per poter aderire alla Debian Policy. La modifica più importante a questi sorgenti è la creazione della directory "debian".<br/>
Building Dependency Tree... Done
Need to get 1168kB of source archives.
Get:1 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (dsc)
[691B]
Get:2 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (tar)
[1154kB]
Get:3 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (diff)
[13.9kB]
Fetched 1168kB in 11s (103kB/s)                                               
dpkg-source: extracting irssi-text in irssi-text-0.8.9
# ls
irssi-text-0.8.9            irssi-text_0.8.9-3.dsc
irssi-text_0.8.9-3.diff.gz  irssi-text_0.8.9.orig.tar.gz</pre>


Il file <code>.dsc</code> contiene la versione del software, l'architettura per cui è
Questi sorgenti sono costituiti da due archivi e un file di testo:
stato scritto, la dipendenze da soddisfare e gli hash dei due archivi
* un file <code>.dsc</code> che descrive il pacchetto
per verificarne l'integrità.
* un archivio compresso <code>.orig.tar.gz</code> che contiene i sorgenti originali del software
* un code>.diff.gz</code> (o con nome simile) contenente le [[patch]] applicate da Debian al pacchetto.


<pre> # cat irssi-text_0.8.9-3.dsc
<pre>
-----BEGIN PGP SIGNED MESSAGE-----
# apt-get source irssi-text
Hash: SHA1
Reading Package Lists... Done
Building Dependency Tree... Done
Need to get 1168kB of source archives.
Get:1 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (dsc) [691B]
Get:2 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (tar) [1154kB]
Get:3 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (diff) [13.9kB]
Fetched 1168kB in 11s (103kB/s)
dpkg-source: extracting irssi-text in irssi-text-0.8.9
# ls
irssi-text-0.8.9            irssi-text_0.8.9-3.dsc
irssi-text_0.8.9-3.diff.gz  irssi-text_0.8.9.orig.tar.gz</pre>


Format: 1.0
Il file <code>.dsc</code> contiene la versione del software, l'[[architettura]] per cui è stato scritto, la [[dipendenze]] da soddisfare, il checksum [[SHA]] dei due archivi per verificarne l'integrità e la firma [[GPG]] per accertarso che i pacchetti provengano da una fonte sicura.
Source: irssi-text
Version: 0.8.9-3
Binary: irssi-text
Maintainer: David Pashley <david@davidpashley.com>
Architecture: any
Standards-Version: 3.6.1
Build-Depends: libglib2.0-dev, perl (>= 5.8.1), libperl-dev (>= 5.8.1),  
libncurses5-dev, debhelper (>= 3.0.18), libssl-dev, openssl,
autotools-dev
Files:
1df516a770656ff0bec0ab62f9096bf6 1153560 irssi-text_0.8.9.orig.tar.gz
37f128f0dafa596c006090a1036ec9b2 13944 irssi-text_0.8.9-3.diff.gz


-----BEGIN PGP SIGNATURE-----
<pre>
Version: GnuPG v1.2.5 (GNU/Linux)
# cat irssi-text_0.8.9-3.dsc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


iD8DBQFCQU0ffDt5cIjHwfcRAoApAKCL5BUc7i9X3iQIQyapUJboWF9IPACgrWPd
Format: 1.0
/t+qP8OkRmh1e6mUH8wz+ic=
Source: irssi-text
=TYfB
Version: 0.8.9-3
-----END PGP SIGNATURE-----</pre>
Binary: irssi-text
Maintainer: David Pashley <david@davidpashley.com>
Architecture: any
Standards-Version: 3.6.1
Build-Depends: libglib2.0-dev, perl (>= 5.8.1), libperl-dev (>= 5.8.1), libncurses5-dev, debhelper (>=3.0.18), libssl-dev, openssl, autotools-dev
Files:
1df516a770656ff0bec0ab62f9096bf6 1153560 irssi-text_0.8.9.orig.tar.gz
37f128f0dafa596c006090a1036ec9b2 13944 irssi-text_0.8.9-3.diff.gz


I file di control già visti nei pacchetti binari sono anche qui,
-----BEGIN PGP SIGNATURE-----
contenuti nella cartella debian dell'archivio.
Version: GnuPG v1.2.5 (GNU/Linux)


<pre> # ls irssi-text-0.8.9
iD8DBQFCQU0ffDt5cIjHwfcRAoApAKCL5BUc7i9X3iQIQyapUJboWF9IPACgrWPd/t+qP8OkRmh1e6mUH8wz+ic==TYfB
AUTHORS      README.cygwin    config.sub      findsyntax.pl      ltmain.sh
-----END PGP SIGNATURE-----
COPYING      TODO            configure      install-sh          missing
</pre>
ChangeLog    acconfig.h      configure.in    irssi-config.in    mkinstalldirs
 
INSTALL      aclocal.m4      curses.m4      irssi-icon.png      scripts
I file di control già visti nei pacchetti binari sono anche qui, contenuti nella cartella debian dell'archivio.
Makefile.am  autogen.sh      debian          irssi-version.h.in  src
 
Makefile.in  colorless.theme  default.theme  irssi.conf          stamp-h.in
<pre>
NEWS        config.guess    docs            irssi.spec          stamp.h.in
# ls irssi-text-0.8.9
README      config.h.in      file2header.sh  irssi.spec.in      syntax.pl
AUTHORS      README.cygwin    config.sub      findsyntax.pl      ltmain.sh
# ls irssi-text-0.8.9/debian
COPYING      TODO            configure      install-sh          missing
botti.1    conffiles  copyright  irssi-text.postinst  prerm  undocumented
ChangeLog    acconfig.h      configure.in    irssi-config.in    mkinstalldirs
changelog  control    dirs      menu                rules</pre>
INSTALL      aclocal.m4      curses.m4      irssi-icon.png      scripts
Makefile.am  autogen.sh      debian          irssi-version.h.in  src
Makefile.in  colorless.theme  default.theme  irssi.conf          stamp-h.in
NEWS        config.guess    docs            irssi.spec          stamp.h.in
README      config.h.in      file2header.sh  irssi.spec.in      syntax.pl
 
# ls irssi-text-0.8.9/debian
botti.1    conffiles  copyright  irssi-text.postinst  prerm  undocumented  
changelog  control    dirs      menu                rules
</pre>
Nel caso si stia installando un pacchetto sorgente, è bene non seguire  
Nel caso si stia installando un pacchetto sorgente, è bene <u>non</u> seguire la procedura <code>./configure;make;make install</code>; perchè il pacchetto non verrà tracciato, non si potrà prenderne informazioni tramite <code>dpkg-query</code> e per la rimozione bisognerà procedere manualmente, con il rischio di 'sporcare' la distribuzione.<br/>
la procedura <code>./configure;make;make install</code>; perchè il pacchetto non  
È meglio usare strumenti quali <code>dpkg-buildpackage</code> e <code>apt-build</code> (per cui rimando alle pagine di man) per avere i vantaggi della compilazione senza 'sporcare' il sistema.
verrà tracciato, non si potrà prenderne informazioni tramite <code>dpkg-query</code>
e per la rimozione bisognerà procedere manualmente, con il rischio di  
'sporcare' la distro.
È meglio usare strumenti quali <code>dpkg-buildpackage</code> e <code>apt-build</code> (per  
cui rimando alle pagine di man) per avere i vantaggi della compilazione  
senza 'sporcare' il sistema.


== Metapacchetti ==
== Metapacchetti ==
6 999

contributi