Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 24 del 15/11/2010 21.15.09

Nascondi questo messaggio

Indice()

Traduzione della guida alla pacchettizzazione di Ubuntu

Introduzione

Benvenuti nella guida alla pacchettizzazione di Ubuntu! Questa guida é dedicata a chiunque desideri creare e mantenere pacchetti Ubuntu e, anche se molti dei concetti espressi qui possono essere usati per creare pacchetti binari per scopi personali, é stata scritta per quelle persone che vogliono distribuire i propri pacchetti su larga scala. Benché questa guida sia specifica per Ubuntu, può risultare utile anche per altre distribuzioni basate su Debian.

Ci sono diversi motivi per imparare a pacchettizzare per Ubuntu: innanzitutto, costruire e correggere pacchetti è un ottimo modo per contribuire alla Comunità, inoltre è anche un buon metodo per conoscere e imparare il funzionamento di Ubuntu e delle applicazioni che si utilizzano. Può capitare che si voglia installare un pacchetto non presente negli archivi di Ubuntu: una volta letta questa guida, si avranno gli strumenti e le conoscenze necessarie per fare questo e molte altre cose.

Da dove iniziare

Se siete completamente nuovi nella Debian-based packaging allora si dovrà leggere questa guida, prestando particolare attenzione alla sezione [http://wiki.ubuntu-it.org/AlessandroLosavio/Prova2 Prerequisiti](da completare), e alla sezione [http://wiki.ubuntu-it.org/AlessandroLosavio/Prove/PacchettazionediBase/ Pacchettazione di Base]. Le persone che hanno esperienza con Debian-based packaging potranno trovare la pagina Ubuntu Packaging più utile. Ecco un'introduzione di base ai pacchetti Debian.

Prerequisiti

Da tradurre.

Per iniziare

Pacchetti binari e sorgenti

La maggior parte degli utenti di una distribuzione basata su Debian come Ubuntu non avrà mai a che fare con il codice sorgente effettivo che viene utilizzato per creare tutte le applicazioni sui propri computer. Invece, il codice sorgente viene compilato in pacchetti binari dal pacchetto di origine che contiene sia il codice sorgente sia le regole per rendere il pacchetto binario. Il pacchetto manutentore una volta caricato i pacchetti sorgenti con le relative modifiche per costruire sistemi compila i pacchetti binari per ciascuna architettura. Un sistema separato distribuisce il binario generato .Deb e trova le modifiche nei repository.

Strumenti per il Packaging

Ci sono molti strumenti scritti appositamente il packaging sui sistemi Debian-based. Molti di loro non sono essenziali per la creazione di pacchetti, ma sono molto utili ad automatizzare compiti ripetitivi. Le pagine importanti e quelle info sono buone fonti di informazione. Tuttavia, il seguito è un elenco di pacchetti che sono ritenute necessarie per iniziare il packaging:

  • build-essential è un metapacchetto che dipende da libc6-dev, gcc, g++, make, e dpkg-dev. Un pacchetto che potrebbe non essere a conoscenza è dpkg-dev. Contiene strumenti come dpkg-buildpackage e dpkg-source che vengono utilizzati per creare, decomprimere, e costruire sorgente dei pacchetti binari.

  • devscripts contengono molti script che rendono i lavori di manutenzione del packaging molto più facili. Alcuni dei più comunemente utilizzati sono debdiff, DCH, debuild e debsign.

  • ubuntu-dev-tool è un'altra collezione di scriprs (come devscripts), ma specifico per Ubuntu. Contiene strumenti come update-maintainer, dgetlp, what-patch, pbuilder-dist, etc.

  • debhelper sono scripts che eseguono attività di pacchettizzazione.

  • dh_make può essere usato per crare un modello per il packaging.

  • diff e patch sono usati rispettivamente per creare e applicare le pacth. Sono ampiamente usati nel packaging perchè è più facile, è più pulito e sono più efficenti nel rappresentare piccoli cambiamenti come patch piuttosto che avere più copie dello stesso file.Nota: in Ubuntu 10.04 il binario diff è fornito dal pacchetto diffultis. diff è un pacchetto fittizio di transizione.

  • cdbs è il comune Debian Build System. Provvede (citando la descrizione del pacchetto) un " insieme di sane regole predefinite sulle quali i pacchetti possono costruire; se necessario le regole possono essere sostituite.

  • quilt gestisce una serie di patch tenendo traccia delle modifiche che ciascuno di loro esegue. Sono organizzate logicamente come una pila, e si possono applicare, non-applicare, aggiornare in modo facile vaggiando nella pila (push/pop). Questo pacchetto si integra completamente nel CDBS, permettendo ai manutentori di uasre questo nuvo paradigma per i loro scripts del packaging per beneficiare della comodità quilt quando si modifica il diff contro l' upstream. Il pacchetto prevede anche un supporto di base per coloro che non utilizzano CDBS.

  • GnuPG è un sostituto completo e libero per PGP utilizzata per firmare digitalmente i file (inclusi i pacchetti).

  • fakeroot simula l'esecuzione di un comando con privilegi di root. Questo è utile per creare pacchetti binari come un utente normale.

  • lintian disseziona i pacchetti Debian, i bug report e le violazioni delle policy. Contiene controlli automatici per molti aspetti della politica di Debian come anche per gli errori comuni.

  • pbuilder costruisce un sistema chroot e compila un pacchetto al suo interno. E 'un sistema ideale da utilizzare per verificare se un pacchetto è corretto dalle dipendenze di compilazione, e di costruire pacchetti puliti pronti per essere testati e distribuiti.

Per comodità, ecco un comando apt-get per installare tutto:

sudo apt-get install build-essential devscripts ubuntu-dev-tools debhelper dh-make diff patch cdbs quilt gnupg fakeroot lintian pbuilder piuparts

Il Personal Builder: pbuilder

Utilizzando pbuilder come costruttore di pacchetti permette di creare il pacchetto all'interno di un ambiente chroot. È possibile creare pacchetti binari senza utilizzare pbuilder, ma è necessario soddisfare tutte le dipendenze di compilazione installate sul proprio primo sistema . Tuttavia, pbuilder consente al packager di controllare le dipendenze di creazione, perché il pacchetto è costituito da una installazione minimale di Ubuntu, e le dipendenze di compilazione sono scaricati in base alla debian / control file.

[http://wiki.ubuntu-it.org/AlessandroLosavio/Prova1/pbuilder/ PbuilderHowto](da iniziare) è una guida completa di tutto ciò si può desiderare e fare con pbuilder.

Una breve panoramica:

-per creare un ambiente di pbuilder, eseguire

sudo pbuilder create --distribution $(lsb_release -cs) \

-per costruire un pacchetto tramite pbuilder, eseguire

sudo pbuilder build *.dsc

-per aggiornare un ambiente di pbuilder, eseguire

sudo pbuilder update

-utilizza pbuilder-dist (di ubuntu-dev-tools)che hanno diverse configurazioni pbuilder diverse per ogni versione di Ubuntu.

Pacchettazione di base


CategoryHomepage