C'est un endroit où j'ai toujours trouvé la documentation manquante. J'ai appris à peu près comment cela fonctionne en regardant comment cela se fait dans d'autres packages. Comme pour la plupart des choses dans le packaging Debian, il y a plusieurs façons de le faire. Je trouve que le moyen le plus simple est d'utiliser des debian/package.install
fichiers. Voici un exemple de package sur lequel j'ai travaillé, imagination (branche bzr) .
Tout d'abord, nous devons créer le package dans debian/control
. Il y a maintenant trois strophes. Un pour le package source et un pour chaque package binaire. Notez que le paquet foo-data devrait l'être Architecture: all
. Notez également que l'imagination dépend imagination-common (= ${source:Version})
.
Ensuite, nous créons un debian/imagination.install
fichier. Celui-ci contient les fichiers ou chemins spécifiques que nous voulons retrouver dans le paquet imagination. Pour ce package, nous voulons tous les fichiers dépendants de l'architecture. Le fichier de bureau est inclus comme il doit le dire avec le binaire qu'il appelle dans sa Exec:
ligne.
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Nous devons créer un debian/imagination-common.install
fichier. Il contiendra tous les fichiers indépendants de l'architecture, les images, les traductions, les documents, etc.
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install
décrit ce qui se passe réellement ici:
vous avez peut-être un gros paquet qui construit plusieurs paquets binaires. Vous pouvez utiliser le Makefile en amont pour tout installer dans debian / tmp, puis utiliser dh_install pour copier des répertoires et des fichiers à partir de là dans les répertoires de construction de paquets appropriés.
Ce que cela signifie par "les répertoires de construction de package appropriés", c'est qu'à la fin du processus de construction, tout ce qui se trouvera dans le résultat foo.deb
sera trouvé dans src/debian/foo
. Les fichiers qui se foo-data.deb
retrouveront se trouveront dans src/debian/foo-data
. Comme il debian/rules
s'agit essentiellement d'un Makefile, vous pouvez commencer à imaginer d'autres façons d'obtenir le même résultat.