60 votes

Comment créer un méta-paquet qui installe automatiquement d'autres paquets ?

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 ?

54voto

radius Points 140

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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X