Dominique Meeùs
Dernière modification le   
retour à la table des matières — à l’index — à ma page de départ

Création de paquets Debian : un méta-paquet d’installation de poste de travail

On a toujours une série d’applications favorites qui ne sont pas installées par défaut. Si on fait une mise à jour de la distribution, elles seront mises à jour aussi. Par contre, si on fait une nouvelle installation, il faut les réinstaller aussi. Une manière de l’automatiser est de créer un méta-paquet, c’est-à-dire un paquet seulement de dépendances, provoquant l’installation des paquets désirés.

Il existe un paquet qui permet ça : c’est equivs. Il faut donc avant tout charger encore ce paquet, et tant qu’on y est, le paquet gdebi. Il est bon de travailler dans un répertoire dédié au projet (surtout s’il y a des fichiers annexes). Cela ne marche pas si le nom de ce répertoire est compliqué. Mieux vaut un nom de dossier en un seul mot en ASCII. On crée le fichier de contrôle du paquet par la commande equivs-control monfichier. On édite dans ce fichier les champs appropriés, en tout cas le nom du paquet et les dépendances. La commande equivs-build monfichier crée le méta-paquet. On peut installer avec gdebi le paquet créé. Voici par exemple mon premier fichier de contrôle :

### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
Homepage: www.d-meeus.be
Standards-Version: 3.9.2
Package: mic-desktop
Version: 1.01
Maintainer: Dominique Meeùs <ici mon adresse e-mail>

# Pre-Depends: <comma-separated list of packages>

Depends: avidemux, bluefish, chromium-browser, dconf-editor, fonts-freefont-otf,
 fonts-linuxlibertine, fontmatrix, fonts-texgyre, gdebi, gnome-cards-data, gnome-icon-theme-full,
 gnome-nettool, gnome-search-tool, gnome-session-fallback, gparted, gthumb, hunspell-de-de,
 hunspell-en-ca, hunspell-fr-comprehensive, hunspell-ru, imagemagick, inkscape, jing,
 libreoffice, libxml2-utils, myspell-el-gr, myspell-es, myspell-it, myspell-nl, myspell-pt-pt,
 nemo, pepperflashplugin-nonfree, skype, synaptic, tesseract-ocr, tesseract-ocr-ell,
 tesseract-ocr-equ, tesseract-ocr-fra, tesseract-ocr-ita, tesseract-ocr-nld, tesseract-ocr-osd,
 tesseract-ocr-por, tesseract-ocr-rus, tesseract-ocr-spa, tidy, ubuntu-restricted-extras, visitors,
 xsane, xul-ext-lightning

# Demande d’autres dépôts: tei-xsl, nemo
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
# Architecture: all
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
#  <more pairs, if there is more than one file to include. Notice the starting space>
Description: To populate my desktop
 Meta-package of dependencies to install some packages I like, that are not default in Ubuntu. You may want to install gdebi first, to help install this one.
 This is a first try. Made with the help of the equivs package.
              

Respecter l’indentation dans la liste des paquets et dans la description longue. Il y manque Nemo et des paquets de la TEI parce que ça suppose d’ajouter d’abord les dépôts voulus. (Je les ai inclus dans des versions suivantes.) Attention : je n’étais intéressé que par la création de métapaquets, mais on pourrait faire avec equivs bien d’autres choses, y compris des choses dangereuses pour la gestion des paquets. Utiliser avec prudence.

Dominique Meeùs . Date: 2011… 2016