I have some debian package which has the following install file:

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

inside the src/web folder are some html and css files. It looks like, that with compat level 7, everything worked fine. But with compat level 9, I get the following error message:

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

The man page of dh_install is clear on this topic: the files must be executable. Unfortunatly, this was probably not enforced with the older debhelper, so I see that a lot of packages use this practise of installing non-executable files with dh_install. edit: maybe I misunderstood the man-page. I think it means the install file itself must be executable? But here is the thing: If i mark index.html executable, I'll get this error message:

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

I was not able to find out, how to install non-executable files with compat level 9, can someone give me a hint?

edit after some trial and error: I removed the executable bit from all install files, and it works now... But this is contrary to the manpage?! What is going on here?


It's a bug in dh-install. Remove the executable bit in your .install file.

chmod -x debian/*.install

Hope this answer helps someone, it took me blood sweat and tears to solve.


It looks as if the files mentioned in the install file are executed and not just read as instructions for the dh_install tool. Are you somewhere invoking "debian/install" by chance?

As a start, I suggest to name the install file yourpackagename.install, not just mere "install". Feel free to post your debian/rules file, too. And I would like to see an "ls -l" of the debian folder.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.