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):
$ cd ~
$ mkdir pacchetti
$ cd pacchetti
$ mkdir app-1.0.0
$ cd app-1.0.0
Ora creiamo lo scheletro del pacchetto con debhelper:
$ dh_make -n
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:
$ chmod 755 script1 script2....
Ora entriamo nella cartella "debian":
file control:
Source: app Section: utilsSe abbiamo bisogno di dipendenze possiamo aggiungerle: Depends: ghostscript (>=1.0.0)
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
file changelog
Qui dobbiamo cambiare la scritta unstable (o stable) con la versione attuale di Ubuntu (es.: trusty)
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:
$ gpg --gen-key
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:
$ dpkg-buildpackage -s
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 $gpg --fingerprint 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:
dput ppa:nostroppa '*source.changes'
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:
dch -iChe 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'
Nessun commento:
Posta un commento
Si prega di non commentare in modo volgare e/o offensivo.