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 i386nel tuo controlfile 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 rulesfile 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/copyrightfile può anche essere utile per informare gli utenti sulle licenze associate al pacchetto. Non penso che tu abbia bisogno di uno postinstscript poiché devi solo estrarre alcuni file. compatdovrebbe contenere il livello di compatibilità debhelper, ad esempio "8". (fare riferimento alla pagina di manuale di debhelper per maggiori dettagli)
Il changelogfile può essere modificato con il dchcomando, disponibile dal devscriptspacchetto. 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 dhcomando 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 -bpuò 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 myplugine inserirlo /usr/share/rhythmbox/plugins/mypluginfolder. Inoltre, crea la DEBIANdirectory (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/controlcui 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>.debin questo esempio myplugin_1.0-1_all.deb. È possibile utilizzare il lessprogramma per sbirciare nel file. Ad esempio less myplugin_1.0-1_all.deb,.