Creare un pacchetto e pubblicarlo su Launchpad

Abbiamo realizzato un programma in bash, c, c++, python, gambas, …. e vogliamo pubblicarlo? ecco come si fa:

Inanzitutto compiliamo il nostro file come script eseguibile senza dargli l’estensione “.sh”.
Il nome che scegliamo è importante in quanto sarà il shortname con cui richiameremo il programma dal terminale: se salviamo il file come “app” nel terminale sarà:
utente@pc:~$app
Questo implica il fatto che il nostro programma potrebbe avere problemi se si chiama come iun altro programma di un altro sviluppatore!

Bene ora si comincia: creiamo le seguenti cartelle (i nomi in corsivo sono a vostra scelta):

Ora creiamo lo scheletro del pacchetto con debhelper:

rispondiamo “s” alla prima domanda (stiamo creando un pacchetto singolo) e premiamo “invio” alla seconda domanda per accettare i suggerimenti su e-mail, nome del maintainer, licenza, …

A questo punto si può notare che è stata creata una directory “debian”.

In parte alla cartella “debian” creiamo una cartella “script” dove metteremo i nostri eseguibili.
Assicuriamoci che essi abbiamo i corretti permessi di esecuzione:

Ora entriamo nella cartella “debian”:

file control:

Source: app Section: utils
Priority: optional
Maintainer: Nome Cognome <mail>
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 3.9.4
Homepage:
Package: tobw
Architecture: all
Description: Descrizione breve Descrizione lunga Usare lo spazio a inizio riga per la descrizione

Se abbiamo bisogno di dipendenze possiamo aggiungerle: Depends: ghostscript (>=1.0.0)

file changelog
Qui dobbiamo cambiare la scritta unstable con una qualsiasi versione di Ubuntu (es.: trusty, utopic, vivid ,…).

Ora creiamo un file install dove scriveremo:

script/* usr/bin/

A indicare che copi tutto il contenuto della cartella script in /usr/bin

Ora è tutto pronto per creare il pacchetto. Spostiamoci nella directory “app-1.0″ ed eseguiamo:
$ dpkg-buildpackage -us -uc

Ora che abbiamo un pacchetto dobbiamo firmarlo:

Per prima cosa creiamo una chiave GPG:

rispondiamo “1”alla prima domanda ovvero DSA e ElGamal, diamo invio;
come dimensione lasciamo pure 1024, diamo invio;
mettiamo “0” come scadenza, diamo invio;
rispondiamo “s”, diamo invio;
ora ci verrà chiesto Nome e Cognome,indirizzo email e il commento per la coppia di chiavi
ora premiamo ‘o’ e invio;
ora ci verrà richiesta la password per le chiavi, inseriamola e invio.

In debian/changelog dobbiamo scrivere Nome Cognome (commento) <mail> con i dati spora inseriti.

Per caricare un pacchetto in rete dobbiamo registrare la nostra chiave presso il server di Ubuntu:
Apriamo Password e Chiavi e selezioniamo la nostra chiave.
Remoto -> Sincronizza e pubblica chiavi. e sincronizza chiave con hkp://keyserver.ubuntu.com

Spostiamoci nella directory “app-1.0.0″ ed eseguiamo:

Ora dobbiamo registrarci su Launchpad:

Colleghiamoci a launchpad.net e seguiamo la procedura guidata di log on.

Ora nella nostra Dashboard clicchiamo sulla matita nel cerchio giallo vicino a OpenPGP Keys:
diamo

e copiamo la chiave nella casella di testo e premiamo import key.

Ora riceveremo una mail con un link di conferma, essendo cifrata per poterla leggere occorre un plugin il cui link è nella mail stessa.

Ora possiamo premere Create a new PPA e seguire la procedura guidata.

E ora:

Per effettuare modifiche lavoriamo sulla directory di prima (se la abbiamo cancellata basta dare dpkg-source -x app_1.0.0.dsc per ricrearla) e alla fine dare:

Che mette la data di aggiornamento e ci permette di scrivere un commento su ciò che abbiamo modificato.

Poi basta ridare  dpkg-buildpackage -S e dput ppa:nostroppa ‘app-1.0.0_source.changes’

Related Posts Plugin for WordPress, Blogger...