Comment créer un méta-package qui installe automatiquement d'autres packages?

49

J'aimerais pouvoir créer un paquet qui ne contient aucun code ou programme lui-même, mais au lieu de cela, installe d’autres paquetages qui existent dans les référentiels sur un ordinateur, comme le fait le paquet ubuntu-restricted-extras

    
posée Thomas Ward 04.04.2011 - 05:36
la source

1 réponse

43

Un tel package peut être créé avec un outil appelé equivs qui créera un package avec juste des informations de dépendance.

D'abord, créez un répertoire:

mkdir my-metapackage
cd my-metapackage/

Exécutez maintenant 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 que vous souhaitez 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 transmise à equivs-build , par ex. equivs-build --full ns-control . Cela utilisera debuild & amp; créer également .dsc & amp; Fichiers .tar.gz.

Pour créer un fichier source .changes que vous pouvez télécharger sur un PPA, extraire & amp; construire 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 devrait générer & amp; signer le fichier my-metapackage_1.0_source.changes pour que vous puissiez le saisir sur votre PPA

    
réponse donnée ajmitch 04.04.2011 - 05:46
la source

Lire d'autres questions sur les étiquettes