web-dev-qa-db-fra.com

Construire le paquet Debian - Comment fonctionnent les dépendances?

Je suis en train de construire un paquet Debian. L'objectif est de regrouper un répertoire dans un .deb qui aura 2 dépendances qui sont d'autres packages que j'ai créés.

Lors de l'installation du package .deb, je vois les erreurs concernant les dépendances manquantes, ce qui est génial, mais il vide toujours le répertoire et le contenu même s'il manque des dépendances.

Ma question est de savoir si c'est un comportement approprié? Je ne veux pas que le répertoire soit créé et rempli s'il manque des dépendances. Toute aide serait appréciée!

Merci!

production.

dpkg -i hdf5.deb
Selecting previously unselected package hdf5.
(Reading database ... 305222 files and directories currently installed.)
Unpacking hdf5 (from hdf5.deb) ...
dpkg: dependency problems prevent configuration of hdf5:
 hdf5 depends on szip (>= 2.9); however:
  Package szip is not installed.

dpkg: error processing hdf5 (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 hdf5
4
hito

Votre problème est que vous installez un paquet que vous avez construit, qui a des dépendances que vous n'avez pas encore installées, en utilisant dpkg. Bien que dpkg installe le package, il ne résout pas les dépendances et n'installe pas les packages manquants pour vous. Vous devrez les installer avec apt pour extraire des archives, ou si vous avez un .deb du package dont vous avez besoin, vous devrez d'abord l'installer, ou en même temps que votre nouveau package, en utilisant dpkg.

Ce que vous décrivez est un Depends que possède le package binaire résultant, pas un Build-Depends que le paquet source devrait construire. Placement de toutes les dépendances d'exécution du package binaire dans le Build-Depends dans votre fichier de contrôle, est un bon moyen d'empêcher la construction d'un package sans qu'il soit installé. Il est également recommandé d'énumérer toutes les dépendances que vous avez, plutôt que de vous fier aux dépendances satisfaites par d'autres packages dont vous dépendez également, pour éviter de les casser si la dépendance est supprimée de l'autre package dont vous avez également besoin.

2
dobey