web-dev-qa-db-fra.com

erreur binaire fakeroot debian / rules

J'ai un package que je gère. Lorsque j'émets "fakeroot debian/rules binary" j'obtiens cette erreur:

dh_install --sourcedir=debian/tmp 
cp: cannot stat `debian/tmp/usr/share/prg/1.svg': No such file or directory 
dh_install: cp -a debian/tmp/usr/share/prg/1.svg debian/prg//usr/share/prg/ returned exit code 1 
make: * [install-Arch] Error 2

Je ne parviens pas à corriger cette erreur. Je peux émettre "cd debian/tmp/usr/share/prg" puis "ls" et le tour est joué.

Dans mon makefile:

dist_pkgdata_DATA = 1.svg

Et dans mon fichier prg.install:

usr/share/prg/1.svg
etc/config.ini

Le fichier config.ini n'a aucun problème d'installation.

Toutes les suggestions seraient grandement appréciées. Je vous remercie

1
ldg

L'erreur est générée par dh_install, Comme invoqué par votre fichier debian/rules. C'est probablement la destination qui manque, pas le fichier source. Dans ce cas, debian/prg//usr/share/prg Existe-t-il? Je ne parierais pas. Classiquement, les fichiers d'un package sont créés soit dans debian/tmp (Typique pour la source 1: 1: packages binaires) ou debian/binary-package-name (Mieux pour la source 1: n: packages binaires), donc essayez copier d'une convention à une autre suggère une erreur.

Vérifiez vos fichiers debian/*install. voir aussi la page de manuel dh_install(1). En particulier,

debian/package.install

Répertoriez les fichiers à installer dans chaque package et le répertoire dans lequel ils doivent être installés. Le format est un ensemble de lignes, où chaque ligne répertorie un fichier ou des fichiers à installer, et à la fin de la ligne indique le répertoire dans lequel elle doit être installée. Le nom des fichiers (ou répertoires) à installer doit être donné relativement dans le répertoire courant, tandis que le répertoire d'installation est donné par rapport au répertoire de construction du package. Vous pouvez utiliser des caractères génériques dans les noms des fichiers à installer (en mode v3 et supérieur).

Si vous voulez vraiment que debian/prg/usr/share/prg Existe, vous devez demander à dh_installdirs De créer les répertoires. Créez debian/package.dirs Pour votre package, en listant les noms des répertoires à créer, par rapport au répertoire de construction, par ex.

usr/share/man/man6
usr/lib
usr/share/prg
1
jmtd