Differences between revisions 10 and 11
Revision 10 as of 2012-11-19 20:51:39
Size: 5371
Comment: sync with English version
Revision 11 as of 2013-01-28 22:54:22
Size: 5402
Comment: Add link to Swedish translation
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[SourcePackage|English]] - Italiano-~ ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[SourcePackage|English]] - Italiano - [[sv/SourcePackage|Svenska]]-~

Translation(s): English - Italiano - Svenska


Presentazione

Definizione di un pacchetto sorgente

i pacchetti dei sorgenti forniscono tutti i file necessari per la compilazione o altrimenti, creare la parte desiderata di software. Nella loro forma più semplice consistono in tre file:

  • l'archivio upstream con estensione .tar.gz,

  • un file descrittivo con estensione '.dsc; contiene il nome del pacchetto, sia nel suo stesso nome file sia nel suo contenuto (dopo la parola chiave Source:).

  • un tarball, con tutte le modifiche fatte ai sorgenti a monte più tutti i file creati per il pacchetto Debian.
    • ha un'estensione .debian.tar.gz (formato sorgente: 3.0)

    • o .diff.gz (formato sorgente: 1.0)

Perché guardare un pacchetto sorgente?

Perché perdere tempo con il pacchetto sorgente se c'è un pacchetto binario?

Alcuni sistemi di compilazione (ad esempio cmake) e script ad-hoc forniscono un modo comodo di produrre Pacchetti binari (cioè file .deb per Debian, .rpm per ?RedHat, ecc.) con un metodo uniforme. Benché questo tipo di approccio sembri a prima vista molto bello, non solo non è sufficiente per poter veramente caricare un pacchetto in Debian, dove un pacchetto sorgente è richiesto, ma è un approccio potenzialmente inferiore perché una distribuzione solo binaria

  • non fornisce nemmeno un metodo unificato per ottenere i sorgenti del software corrispondente (come avviene ora con "apt-get source package");
  • rende difficile (se non del tutto impossibile) per un utente/contributore la ricompilazione del pacchetto .deb a causa di una mancanza di standardizzazione nelle procedure di compilazione e nella descrizione delle dipendenze di compilazione; questo aspetto è spesso mitigato dagli autori originali con descrizioni dettagliate nel file README, ma le istruzioni variano da pacchetto a pacchetto e non c'è garanzia che siano complete, perciò nel complesso la ricompilazione non è semplice ed è fragile. Perciò non c'è da sorprendersi che le politiche Debian richiedano pacchetti sorgenti con procedure di compilazione standardizzate: Debian deve poter ricompilare software indifferente all'architettura per tutte (>12) le piattaforme supportate;

  • compone manualmente le dipendenze "Depends:" per un .deb generato e spesso queste non sono corrette per tutte le suite/rilasci Debian, complicando così le procedure di installazione. Una soluzione veloce e non elegante è spesso quella di compilare versioni statiche perdendo quindi i benefici della modularità in Debian e rendendo il software meno robusto e sicuro.

Come scaricare un pacchetto di sorgenti

I sorgenti normalmente non vengono installati; lo si può fare solo se si conosce il nome del pacchetto.

Come scoprire il nome di un pacchetto sorgente

Su http://www.debian.org/distrib/packages, c'è un motore di ricerca che porta a: http://packages.debian.org/src:<nome> .

Un pacchetto di sorgenti potrebbe generare molti .deb. Per sapere il nome del pacchetto sorgente, si veda il campo Source: nell'output di

   apt-cache show package_name

con apt-get source

Un modo per ottenere pacchetti sorgente è usare

   apt-get source <nome_pacchetto>

È necessaria una voce deb-src in /etc/apt/sources.list:

   deb-src http://http.us.debian.org/debian unstable main

Un pacchetto di sorgenti viene scaricato nella directory corrente ma non viene installato (non apparirà nella lista dei pacchetti installati), quindi non è necessario essere root per usare apt-get source.

Da debian.org

Si può scaricare a mano, da http://www.debian.org/distrib/packages.

Una volta nella pagina del pacchetto, si sceglie una distribuzione e si ottiene un collegamento per i tre file che compongono il pacchetto sorgente.

Lavorare con un pacchetto sorgente

Come compilare il pacchetto Debian

Per compilare il .deb sono necessari i privilegi di root o fakeroot.

Per creare il pacchetto automaticamente dopo il download si può usare

   apt-get --build source nome_pacchetto

Installare e usare apt-build (di solito si usa apt-get source -b ...) se si vogliono creare pacchetti ottimizzati dai sorgenti.

Come estrarre i file sorgente

Supponendo che i file del pacchetto sorgente siano presenti nella stessa directory, per decomprimere un pacchetto sorgente, in genere è possibile utilizzare:

  • dpkg-source -x .../percorso/di/nome_pacchetto.dsc

Tutti i file vengono spaccettati in una versione chiamata pacchetto-versione.


CategoryPackageManagement CategoryPackaging