J'aimerais pouvoir créer un paquet qui ne contienne pas de code ou de programme lui-même, mais qui installe d'autres paquets existant dans les dépôts sur un ordinateur, un peu à la manière du programme ubuntu-restricted-extras
fait ?
Réponse
Trop de publicités?Un méta-paquet comme celui-ci peut être créé avec un outil appelé equivs
qui créera un paquet contenant uniquement des informations sur les dépendances.
Tout d'abord, créez un répertoire :
mkdir my-metapackage
cd my-metapackage/
Maintenant, exécutez le programme :
equivs-control ns-control
Il créera 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 son Depends
o Recommends
modifiées pour dépendre des paquets que vous voulez 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 exécutant
equivs-build ns-control
Votre paquet est situé à my-metapackage/my-metapackage_1.0_all.deb
.
Si vous souhaitez également créer un paquet source, l'option --full
peut être passée à l'option equivs-build
par exemple equivs-build --full ns-control
. Ceci utilisera debuild et créera également les fichiers .dsc et .tar.gz.
Pour créer un fichier source .changes que vous pouvez télécharger vers 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 Maintainer que vous avez défini dans ns-control correspond à votre clé GPG, il devrait construire et signer le fichier my-metapackage_1.0_source.changes pour que vous puissiez le mettre dans votre PPA.