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?
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.
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.