У меня есть пакет debian, в котором есть следующий файл install
:
src/an_executable_python_script usr/bin
src/web/* usr/share/packagename
внутри папки src/web
находятся файлы html и css. Похоже, что с compat level 7 все работало нормально. Но на уровне компата 9 я получаю следующее сообщение об ошибке:
/home/user/package/debian/packagename.install: 2:
/home/user/package/debian/packagename.install: src/web/index.html: Permission denied
Справочная страница dh_install в этой теме понятна: файлы должны быть исполняемыми. К сожалению, это, вероятно, не было реализовано в старом debhelper, поэтому я вижу, что многие пакеты используют эту практику установки неисполняемых файлов с помощью dh_install. s> edit: возможно, я неправильно понял man-страницу. Я думаю, это означает, что сам файл установки должен быть исполняемым? Но вот в чем дело: если я отмечу index.html
исполняемый файл, я получу следующее сообщение об ошибке:
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
Я не смог выяснить, как установить неисполняемые файлы с уровнем сжатия 9 Может кто-нибудь дать мне подсказку?
Правка после проб и ошибок: я удалил исполняемый бит из всех установочных файлов, и теперь он работает ... Но это противоречит man-странице ?! Что здесь происходит?
Это ошибка в dh-install. Удалите исполняемый бит из вашего файла .install
.
chmod -x debian/*.install
Надеюсь, что этот ответ кому-то поможет, мне потребовались кровь и слезы, чтобы решить.
Похоже, что файлы, упомянутые в установочном файле, выполняются, а не просто читаются как инструкции для инструмента dh_install. Вы где-нибудь случайно вызываете «debian / install»?
Для начала я предлагаю назвать установочный файл yourpackagename.install, а не просто «установить». Не стесняйтесь также публиковать свой файл debian / rules. И я хотел бы видеть "ls -l" из папки debian.