Ci-dessous, je suppose que la source est ouverte (par exemple les scripts Python) qui ne sont donc liés à aucune architecture (par exemple amd64 ou i386), donc "tous". Si vous avez une source C, vous devez l'utiliser Architecture: amd64 i386dans votre controlfichier source .
création d'un package prêt pour Launchpad
Cela deviendra éventuellement une série de packages PPA de rampe de lancement individuels.
Ce que je préfère (mais peut-être pas en mesure d'atteindre ...) est de garder mon packaging au minimum - créer une série de packages à partir d'un modèle et ajuster le strict minimum (changelog etc + le fichier tar).
Launchpad accepte uniquement les packages source, alors créez un rulesqui installe les fichiers aux bons endroits. Pour plus de commodité, j'utiliserai debhelper . Le répertoire contenant vos fichiers devrait ressembler à:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
Un debian/copyrightfichier peut également être utile pour informer les utilisateurs des licences associées au package. Je ne pense pas que vous ayez besoin d'un postinstscript car il vous suffit d'extraire certains fichiers. compatdevrait contenir le niveau de compatibilité de debhelper, disons "8". (veuillez vous référer à la page de manuel de debhelper pour plus de détails)
Le changelogfichier peut être édité avec la dchcommande, disponible dans le devscriptspackage. Le rules(en utilisant debhelper) doit contenir:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Rendez-le exécutable en utilisant chmod 755 debian/rules. Un paquet source peut être construit en utilisant debuild -S. Assurez-vous d'être dans un répertoire nommé <package-name>-<version>. Plus d'informations sur le override_comportement et la dhcommande peuvent être trouvées sur sa page de manuel .
Le guide des nouveaux responsables Debian m'a été très utile pour comprendre cela, c'est une lecture recommandée. Des exemples d'emballage peuvent être trouvés sur https://github.com/Bumblebee-Project/bumblebee-ppa .
création d'un package à partir d'une arborescence de fichiers existante
dpkg-deb -bpeut être utilisé pour créer des tarballs à partir d'une arborescence de fichiers existante. Tout d'abord, commencez par créer un répertoire qui doit être nommé d'après votre package. Je suppose que vous voulez le nommer mypluginet le mettre /usr/share/rhythmbox/plugins/mypluginfolder. De plus, créez le DEBIANrépertoire (en majuscules!) Pour stocker les informations sur le package:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Copiez sur vos fichiers:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
Ensuite, vous aurez besoin d'un soi-disant fichier de contrôle situé dans myplugin/DEBIAN/controllequel décrit le package. Le contenu d'un tel fichier est mis ci-dessous:
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.
Maintenant, vous pouvez éventuellement vérifier le contenu de votre package. La commande suivante répertorie le contenu des entrées de fichier et de répertoire de myplugin:
find myplugin -ls
Si vous êtes satisfait, construisez le package dans le répertoire courant:
dpkg-deb -b myplugin .
Un nouveau fichier apparaîtra, nommé comme <package>_<version>_<architecture>.debcelui de cet exemple myplugin_1.0-1_all.deb. Vous pouvez utiliser le lessprogramme pour consulter le fichier. Par exemple less myplugin_1.0-1_all.deb,.