8172
Comment: sync with English master
|
9501
sync with English master
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
I pacchetti Debian vengono mantenuti da una comunità di sviluppatori e volontari Debian. Questa pagina contiene informazioni per gli sviluppatori che desiderano pacchettizzare software per Debian. Se si stanno cercando informazioni sull'installazione o la rimozione dei pacchetti dal proprio sistema Debian, vedere invece le pagine sulla [[it/PackageManagement|gestione dei pacchetti]]. <<TableOfContents()>> == Cosa è un "pacchetto"? == Un pacchetto Debian è una raccolta di file che permettono di distribuire applicazioni o librerie attraverso il sistema di gestione dei pacchetti di Debian. Lo scopo della pacchettizzazione è quello di permettere di automatizzare l'installazione, l'aggiornamento, la configurazione e la rimozione di programmi per Debian in modo coerente. Un pacchetto Debian è formato da un pacchetto sorgente e da uno o più pacchetti binari. La Debian Policy richiede che questi file di pacchetto siano compilati con una struttura e un formato particolari, ma ci sono molti modi per arrivare a questo risultato. {{{#!wiki warning Solo i pacchetti che sono conformi alle politiche di Debian vengono accettati nell'archivio. Pacchetti binari (.deb) creati a mano che non sono compilati a partire da un pacchetto sorgente non saranno mai accettati. }}} I pacchetti sorgente non contengono solo la distribuzione originale a monte dei sorgenti e le opzioni per il sistema di compilazione dei pacchetti di Debian, ma anche gli elenchi delle dipendenze di esecuzione e dei pacchetti in conflitto, una descrizione analizzabile da macchina delle informazioni sui diritti d'autore e sulla licenza, configurazioni iniziali, ecc. Sebbene lo scopo della pacchettizzazione sia di produrre tali file, per la maggior parte si lavora con i sorgenti spacchettati in una directory. Il pacchetto sorgente (.dsc) e i pacchetti binari (.deb) verranno creati da strumenti come dpkg-buildpackage. Si possono leggere ulteriori informazioni sull'anatomia dei [[it/DebianPackage|pacchetti binari]] o dei [[it/SourcePackage|pacchetti sorgente]] nelle loro pagine nel wiki. == Introduzione alla creazione di pacchetti per Debian == |
|
Line 6: | Line 31: |
Quando si pensa seriamente di iniziare, come principianti, a creare pacchetti per Debian, leggere la documentazione ufficiale: | Quando si inizia ad occuparsi di pacchettizzazione per Debian, leggere per prima cosa la documentazione ufficiale: |
Line 14: | Line 39: |
---- <<TableOfContents()>> == Perché creare pacchetti == Se si desidera * installare qualche programma o dato su svariati computer * avere un sistema di versioni coerente e fisso * che il sistema di gestione dei pacchetti si occupi degli aggiornamenti * aiutare il progetto Debian. (Vedere [[http://www.debian.org/devel/wnpp/|Work-Needing and Prospective Packages]] (Pacchetti che hanno bisogno di lavoro e pacchetti futuri)) == Cosa è un "pacchetto"? == Ci sono due tipi di pacchetto: "binario" (.deb) e "sorgente" (.dsc). Ci sono strumenti (es. cpack) in grado di generare pacchetti "binari", ma questo tipi di pacchettizzazione è ad-hoc (specifica per un sistema di compilazione) e fragile. Tali pacchetti sono più proni a funzionare male quando il sistema di destinazione è diverso dall'ambiente originale in cui sono stati compilati. I pacchetti "sorgente" a loro volta possono essere compilati per produrre pacchetti "binari" su ogni altra macchina e architettura. Essi forniscono, in una forma standardizzata, indifferente al linguaggio e al sistema di compilazione (make o cmake) sottostanti, tutte le informazioni necessarie sulle dipendenze e conflitti di compilazione e per l'esecuzione, la descrizione standardizzata delle informazioni su copyright e licenza, la configurazione iniziale, ecc. Questo è il motivo per cui i pacchetti "binari" da soli, senza i pacchetti "sorgente" da cui sono generati, non possono essere proposti per l'inclusione in una distribuzione Debian ufficiale. Per questo motivo la ''pacchettizzazione'' nel mondo Debian si occupa principalmente dei pacchetti "sorgente". I pacchetti "binari" sono solo un prodotto di tale lavoro. == Introduzione alla creazione di pacchetti per Debian == |
|
Line 52: | Line 55: |
== Distribuzioni derivate da Debian == | <<Anchor(Packaging_Procedures)>> == Procedure di pacchettizzazione == |
Line 54: | Line 58: |
Notare che anche alcune risorse delle distribuzioni derivate da Debian possono essere piuttosto utili. * la [[http://packaging.ubuntu.com/|Guida alla creazione di pacchetti di Ubuntu]] |
=== Tipi / Formati === |
Line 57: | Line 60: |
Leggere di più sul [[DEX|progetto DEX]] | * [[AndroidTools]] - strumenti per Android * [[Fonts/PackagingPolicy|Tipi di carattere]] - pacchetti * [[http://pkg-go.alioth.debian.org/packaging.html|Go]] - librerie e applicazioni * [[http://pkg-haskell.alioth.debian.org/haskell-policy/|Haskell]] - librerie (datato, l'aggiornamento è elencato tra le cose da fare in [[Haskell]]) * [[Java/Packaging|Java]] - librerie e applicazioni * [[Javascript/Policy|JavaScript]] - librerie e applicazioni * [[http://pkg-lua.alioth.debian.org/policy.html|Lua]] - moduli * [[Teams/DebianMonoGroup/NewPackage|Mono]] - librerie e applicazioni * [[Teams/DebianMozExtTeam#Common_practices|Mozilla Extensions]] - XUL extensions * [[http://pkg-ocaml-maint.alioth.debian.org/ocaml_packaging_policy.html/index.html|OCaml]] - librerie * [[Python/Packaging|Python]] - moduli e applicazioni * [[Teams/Ruby/Packaging|Ruby]] - moduli e applicazioni * [[RPM]] - reimpacchettare pacchetti RPM come pacchetti .deb |
Line 59: | Line 74: |
<<Anchor(Tools)>> === Strumenti === |
|
Line 60: | Line 77: |
== Procedure avanzate di creazione di pacchetti == | * [[UsingQuilt|Quilt]] - gestione di patch * [[PackagingWithDarcs|Darcs]] - controllo di versione * [[PackagingWithGit|Git]] - controllo di versione * [[PbuilderTricks|Pbuilder]] - strumento di compilazione * [[SecurePbuilder|Secure Pbuilder]] - strumento di compilazione |
Line 62: | Line 83: |
=== da Debian Women === [[it/DebianWomen|Debian Women]] organizza interessanti [[DebianWomen/Projects/Events/TrainingSessions|sessioni di insegnamento]]. Queste sono quelle riguardanti la creazione di pacchetti: |
<<Anchor(Advanced_Procedures)>> === Procedure avanzate === |
Line 71: | Line 90: |
=== Vedere anche === * [[it/UsingQuilt|Usare Quilt]] |
<<Anchor(Useful_Pages)>> === Pagine utili === |
Line 78: | Line 98: |
* [[PackagingWithDarcs|Creazione di pacchetti con Darcs]] * [[PackagingWithGit|Creazione di pacchetti con Git]] * [[PbuilderTricks|Trucchetti nell'uso di Pbuilder]] |
|
Line 83: | Line 100: |
* [[RPM]] - Convertire un .RPM in un .DEB; con alien generalmente porta a risultati cattivi | |
Line 86: | Line 102: |
* [[Python/Packaging|Creazione di pacchetti con Python]] | |
Line 89: | Line 104: |
=== Pagine utili === |
|
Line 93: | Line 106: |
* [[SecurePbuilder|Rendere sicuro Pbuilder]] | |
Line 97: | Line 109: |
* [[DEX|DEX]] - migliorare Debian e le sue derivate attraverso lavoro di squadra di più comunità | |
Line 98: | Line 111: |
<<Anchor(Training_Sessions)>> == Sessioni di addestramento == <<Anchor(From_Debian_Women)>> === Da Debian Women === [[it/DebianWomen|Debian Women]] organizza interessanti [[DebianWomen/Projects/Events/TrainingSessions|sessioni di addestramento]]. <<Anchor(Other_Information)>> |
|
Line 99: | Line 121: |
Line 108: | Line 129: |
* [[http://packaging.ubuntu.com/|Guida alla pacchettizzazione di Ubuntu]] | |
Line 120: | Line 142: |
CategoryPackageManagement CategoryPackaging | CategoryPackaging |
Traduzioni: English - Italiano - Svenska
I pacchetti Debian vengono mantenuti da una comunità di sviluppatori e volontari Debian. Questa pagina contiene informazioni per gli sviluppatori che desiderano pacchettizzare software per Debian.
Se si stanno cercando informazioni sull'installazione o la rimozione dei pacchetti dal proprio sistema Debian, vedere invece le pagine sulla gestione dei pacchetti.
Contents
Cosa è un "pacchetto"?
Un pacchetto Debian è una raccolta di file che permettono di distribuire applicazioni o librerie attraverso il sistema di gestione dei pacchetti di Debian. Lo scopo della pacchettizzazione è quello di permettere di automatizzare l'installazione, l'aggiornamento, la configurazione e la rimozione di programmi per Debian in modo coerente.
Un pacchetto Debian è formato da un pacchetto sorgente e da uno o più pacchetti binari. La Debian Policy richiede che questi file di pacchetto siano compilati con una struttura e un formato particolari, ma ci sono molti modi per arrivare a questo risultato.
Solo i pacchetti che sono conformi alle politiche di Debian vengono accettati nell'archivio. Pacchetti binari (.deb) creati a mano che non sono compilati a partire da un pacchetto sorgente non saranno mai accettati.
I pacchetti sorgente non contengono solo la distribuzione originale a monte dei sorgenti e le opzioni per il sistema di compilazione dei pacchetti di Debian, ma anche gli elenchi delle dipendenze di esecuzione e dei pacchetti in conflitto, una descrizione analizzabile da macchina delle informazioni sui diritti d'autore e sulla licenza, configurazioni iniziali, ecc.
Sebbene lo scopo della pacchettizzazione sia di produrre tali file, per la maggior parte si lavora con i sorgenti spacchettati in una directory. Il pacchetto sorgente (.dsc) e i pacchetti binari (.deb) verranno creati da strumenti come dpkg-buildpackage.
Si possono leggere ulteriori informazioni sull'anatomia dei pacchetti binari o dei pacchetti sorgente nelle loro pagine nel wiki.
Introduzione alla creazione di pacchetti per Debian
Quando si inizia ad occuparsi di pacchettizzazione per Debian, leggere per prima cosa la documentazione ufficiale:
la Debian New Maintainers' Guide (Guida per il nuovo manutentore Debian -- tutorial per pacchetti semplici
Tutorial sulla pacchettizzazione per Debian -- panoramica basata su diapositive della pacchettizzazione in Debian
Debian Policy (Politiche Debian) -- le regole fondamentali
Developers Reference (Guida di riferimento per gli sviluppatori) -- guida avanzata, ecc.
Per imparare delle buone informazioni di base sulla creazione di pacchetti per Debian:
prima leggere l'eccelente Introduzione alla creazione di pacchetti per Debian per creare un pacchetto partendo da zero.
si può anche guardare il tutorial sulla compilazione per applicare modifiche ad un pacchetto esistente
Una volta viste le basi, è caldamente consigliato leggere un qualcosa di più consistente:
La Guida per il nuovo manutentore Debian (Debian New Maintainers' Guide) descrive la creazione di un pacchetto Debian ai normali utenti Debian.
la Debian Policy (Politiche Debian) include i requisiti tecnici che ogni pacchetto deve soddisfare.
Poi, se si hanno dubbi o domande, si può tornare a questa pagina o leggere:
l'interessante file PDF incluso nel pacchetto packaging-tutorial;
La Developers Reference (Guida di riferimento per sviluppatori) fornisce una panoramica delle procedure raccomandate e delle risorse disponibili per gli sviluppatori Debian.
Cosa non fare:
Non ci sono scorciatoie per imparare le buone pratiche di creazione di pacchetti. Evitare equivs che è utile solamente per creare metapacchetti banali e non insegna nulla sulla creazione dei pacchetti.
Procedure di pacchettizzazione
Tipi / Formati
AndroidTools - strumenti per Android
Tipi di carattere - pacchetti
Go - librerie e applicazioni
Haskell - librerie (datato, l'aggiornamento è elencato tra le cose da fare in Haskell)
Java - librerie e applicazioni
JavaScript - librerie e applicazioni
Lua - moduli
Mono - librerie e applicazioni
Mozilla Extensions - XUL extensions
OCaml - librerie
Python - moduli e applicazioni
Ruby - moduli e applicazioni
RPM - reimpacchettare pacchetti RPM come pacchetti .deb
Strumenti
Quilt - gestione di patch
Darcs - controllo di versione
Git - controllo di versione
Pbuilder - strumento di compilazione
Secure Pbuilder - strumento di compilazione
Procedure avanzate
Pagine utili
?Aggiungere e rimuovere diversioni
?Come suddividere un pacchetto in pacchetti più piccoli
Repackage_srcrpm - creare un pacchetto sorgente Debian ben fatto facendo comunque riferimento al pacchetto src.rpm
Creazione di pacchetti senza una particolare architettura - per un facile port
DEX - migliorare Debian e le sue derivate attraverso lavoro di squadra di più comunità
Sessioni di addestramento
Da Debian Women
Debian Women organizza interessanti sessioni di addestramento.
Altre informazioni
Collegamenti esterni utili
http://qref.sourceforge.net/Debian/reference/ch-package.en.html
http://www.debian.org/doc/manuals/apt-howto/ and package apt-howto
http://www.debian.org/devel/wnpp/prospective : pacchetti richiesti e pacchetti su cui si sta lavorando.
What's in a debian/ directory - esempio dettagliato
Vedere anche:
http://www-128.ibm.com/developerworks/linux/library/l-debpkg.html : creare pacchetti Debian: descrizione di alto livello della pacchettizzazione in Debian.
Pagina Wikipedia sull'elenco di pacchetti software open source
http://www.debian-administration.org/articles/336 Creare i propri pacchetti Debian.
Pacchetti non liberi autocompilati: http://article.gmane.org/gmane.linux.debian.devel.announce/997
Aggiornamento della configurazione di pacchetti: propone un nuovo metodo per gestire in modo pulito gli aggiornamenti della configurazione durante gli aggiornamenti dei pacchetti