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 i386
dans votre control
fichier 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 rules
qui 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/copyright
fichier peut également être utile pour informer les utilisateurs des licences associées au package. Je ne pense pas que vous ayez besoin d'un postinst
script car il vous suffit d'extraire certains fichiers. compat
devrait 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 changelog
fichier peut être édité avec la dch
commande, disponible dans le devscripts
package. 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 dh
commande 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 -b
peut ê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 myplugin
et le mettre /usr/share/rhythmbox/plugins/mypluginfolder
. De plus, créez le DEBIAN
ré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/control
lequel 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>.deb
celui de cet exemple myplugin_1.0-1_all.deb
. Vous pouvez utiliser le less
programme pour consulter le fichier. Par exemple less myplugin_1.0-1_all.deb
,.