Di seguito, presumo che il sorgente sia aperto (ad esempio script Python) che non sono quindi vincolati a nessuna architettura (ad esempio amd64 o i386), quindi "tutto". Se hai qualche sorgente C, devi usarla Architecture: amd64 i386
nel tuo control
file sorgente .
creando un pacchetto pronto per Launchpad
Questo alla fine diventerà una serie di singoli pacchetti PPA launchpad.
Quello che preferisco (ma potrebbe non essere in grado di ottenere ...) è di mantenere il mio packaging al minimo - creare una serie di pacchetti da un modello e regolare il minimo indispensabile (log delle modifiche, ecc. + Il file tar).
Launchpad accetta solo pacchetti sorgente, quindi crea un rules
file che installi i file nei posti corretti. Per comodità, userò debhelper . La directory con i tuoi file dovrebbe apparire come:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
Un debian/copyright
file può anche essere utile per informare gli utenti sulle licenze associate al pacchetto. Non penso che tu abbia bisogno di uno postinst
script poiché devi solo estrarre alcuni file. compat
dovrebbe contenere il livello di compatibilità debhelper, ad esempio "8". (fare riferimento alla pagina di manuale di debhelper per maggiori dettagli)
Il changelog
file può essere modificato con il dch
comando, disponibile dal devscripts
pacchetto. L' rules
(utilizzando debhelper) deve contenere:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Renderlo eseguibile utilizzando chmod 755 debian/rules
. Un pacchetto sorgente può essere compilato usando debuild -S
. Assicurati di essere in una directory denominata <package-name>-<version>
. Maggiori informazioni sul override_
comportamento e sul dh
comando sono disponibili nella sua pagina di manuale .
La Guida per i nuovi manutentori di Debian è stata molto utile per me capire questo, si consiglia di leggere. La confezione di esempio è disponibile su https://github.com/Bumblebee-Project/bumblebee-ppa .
creazione di pacchetti dall'albero dei file esistente
dpkg-deb -b
può essere utilizzato per creare tarball da un albero di file esistente. Innanzitutto, inizia con la creazione di una directory che dovrebbe essere chiamata come il tuo pacchetto. Presumo che tu voglia nominarlo myplugin
e inserirlo /usr/share/rhythmbox/plugins/mypluginfolder
. Inoltre, crea la DEBIAN
directory (maiuscola!) Per la memorizzazione delle informazioni sul pacchetto:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Copia sui tuoi file:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
Successivamente, avrai bisogno di un cosiddetto file di controllo situato in myplugin/DEBIAN/control
cui viene descritto il pacchetto. Il contenuto di tale file è riportato di seguito:
Package: myplugin
Version: 1.0-1
Maintainer: You <whatever@contact.address>
Architecture: all
Description: plugins for Rhythmbox
Longer description here
.
As you can see, new paragraph are split by a single dot,
and lines have to be indented by one space.
Ora puoi facoltativamente verificare il contenuto del tuo pacchetto. Il comando successivo elenca i contenuti delle voci di file e directory di myplugin
:
find myplugin -ls
Se sei soddisfatto, compila il pacchetto nella directory corrente:
dpkg-deb -b myplugin .
Apparirà un nuovo file, chiamato come <package>_<version>_<architecture>.deb
in questo esempio myplugin_1.0-1_all.deb
. È possibile utilizzare il less
programma per sbirciare nel file. Ad esempio less myplugin_1.0-1_all.deb
,.