web-dev-qa-db-fra.com

Installer des fichiers non exécutables avec dh_install

J'ai un paquet Debian qui contient le fichier install suivant:

src/an_executable_python_script usr/bin
src/web/* usr/share/packagename

dans le dossier src/web se trouvent des fichiers html et css. On dirait qu'avec le niveau 7, tout a bien fonctionné. Mais avec le niveau de compatibilité 9, je reçois le message d'erreur suivant:

/home/user/package/debian/packagename.install: 2: 
/home/user/package/debian/packagename.install: src/web/index.html: Permission denied

La page de manuel de dh_install est claire sur ce sujet: les fichiers doivent être exécutables. Malheureusement, cela n’a probablement pas été appliqué avec l’ancien debhelper. Je constate donc que de nombreux paquets utilisent cette pratique consistant à installer des fichiers non exécutables avec dh_install. edit: j'ai peut-être mal compris la page de manuel. Je pense que cela signifie que le fichier d'installation lui-même doit être exécutable? Mais voici la chose: si je marque index.html exécutable, j'obtiendrai ce message d'erreur:

src/web/index.html: 2: src/web/index.html: cannot open !DOCTYPE: No such file
src/web/index.html: 2: src/web/index.html: html: not found
src/web/index.html: 4: src/web/index.html: Syntax error: newline unexpected
dh_install: debian/packagename.install (executable config) returned exit code 2

Je ne pouvais pas savoir comment installer des fichiers non exécutables avec le niveau de compatibilité 9, quelqu'un peut-il me donner un indice?

modifier après quelques essais et erreurs: j'ai supprimé le fichier exécutable de tous les fichiers d'installation, et cela fonctionne maintenant ... Mais c'est contraire à la page de manuel?! Qu'est-ce qui se passe ici?

2
reox

C'est un bug dans dh-install. Supprimez le bit exécutable dans votre fichier .install.

chmod -x debian/*.install

J'espère que cette réponse aide quelqu'un, il m'a fallu de la sueur de sang et des larmes pour la résoudre.

1
Nadav

Il semble que les fichiers mentionnés dans le fichier d'installation soient exécutés et ne soient pas simplement lus comme des instructions pour l'outil dh_install. Êtes-vous quelque part en train d’appeler "debian/install" par hasard?

Pour commencer, je suggère de nommer le fichier d'installation yourpackagename.install, et pas seulement "install". N'hésitez pas à poster aussi votre fichier debian/rules. Et j'aimerais voir un "ls -l" du dossier debian.

0
smoe