J'aimerais pouvoir créer un paquet qui ne contienne aucun code ni programme lui-même, mais installe à la place d'autres paquets qui existent dans les référentiels sur un ordinateur, en quelque sorte comment le paquet ubuntu-restricted-extras
fait?
Un méta-paquet comme celui-ci peut être créé avec un outil appelé equivs
qui créera un paquet avec juste des informations de dépendance.
Tout d'abord, créez un répertoire:
mkdir my-metapackage
cd my-metapackage/
Maintenant, lancez le programme:
equivs-control ns-control
Il va créer un fichier appelé ns-control
, ouvrez ce fichier avec votre éditeur de texte. Le fichier de contrôle que vous générez doit avoir ses lignes Depends
ou Recommends
modifiées pour dépendre des packages à installer:
Section: misc
Priority: optional
Standards-Version: 3.9.1
Package: my-metapackage
Version: 1.0
Depends: openssh-server, gedit
Description: This package installes an ssh server and a text editor
The Long description of this package ends with a newline!
(Juste un exemple, vous devriez inclure plus d'informations)
Et enfin, construisez le paquet en lançant
equivs-build ns-control
Votre paquet est situé à my-metapackage/my-metapackage_1.0_all.deb
.
Si vous souhaitez également créer un package source, l'option --full
peut être passée à equivs-build
, par exemple. equivs-build --full ns-control
. Cela utilisera debuild & créera également des fichiers .dsc & .tar.gz.
Pour créer un fichier .changes source que vous pouvez télécharger sur un PPA, extrayez et construisez le paquet source avec
dpkg-source -x my-metapackage_1.0.dsc
cd my-metapackage-1.0
debuild -S
Si le responsable que vous avez défini dans ns-control correspond à votre clé GPG, il doit créer et signer le fichier my-metapackage_1.0_source.changes afin que vous puissiez le transférer dans votre PPA.