Question

J'ai la structure Debian suivante:

  • debian / usr / share / test
  • debian / usr / share / test / test
  • debian / usr / share / test / test / a
  • debian / usr / share / test / test / b

Après avoir construit le paquet avec dpkg-deb --build et l’avoir installé avec dpkg -i, il ne semble pas que les dossiers soient testés automatiquement s’ils n’existent pas. Dois-je les créer manuellement dans le script preinst?

UPDATE: le problème était dû à une erreur commise par preinst. Le décompactage n'a donc pas eu lieu.

Laurent

Était-ce utile?

La solution

Regardez un exemple de mine ici .

debian/DEBIAN 
debian/usr/bin
debian/usr/lib

Vous avez plusieurs choix:

  1. Remplissez les répertoires avec les fichiers avant de générer le package (package binaire)
  2. Construisez un paquet source MAKE sera appelé pour construire le paquet et l'installer.

Dans le premier cas, vous n'avez pas besoin de créer les répertoires à l'aide d'un script preinst : la hiérarchie des dossiers sera créée si nécessaire par le gestionnaire de packages lors de son installation.

Dans le deuxième cas, vous devrez utiliser mkdir -p pour créer la hiérarchie de dossiers pendant la phase install .

Au cours de l’année écoulée, j’ai expérimenté 3 méthodes différentes de packaging pour les dépôts Debian et, croyez-moi, les détails à prendre en compte sont nombreux. Un soulagement a été de faire connaissance avec Launchpad et son processus de publication d’APP.

Autres conseils

Vous avez besoin de ceux-ci dans le paquet nommé tmp ou identiques au premier paquet répertorié dans debian / control, selon la version du mode debhelper compat choisi.

E.g. un appel depuis l'un des exemples de fichier debhelper :

$(MAKE) prefix=`pwd`/debian/`dh_listpackages`/usr install

Il vous manque ce niveau d'indirection ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top