debuild error "*** Нет правила для создания цели", где цель пуста

Мы пытаемся создать пакет deb, установить и автоматически запустить пару имеющихся у нас сценариев мониторинга.

Вот файл правил:

#!/usr/bin/make -f
%:
    dh $@ --with=systemd --with=python2

override_dh_installinit:
    dh_systemd_enable -pmonitor --name=monitor monitor.service
    dh_installinit -pmonitor--no-start --noscripts
    dh_systemd_start -pmonitor

При сборке этого пакета я получаю следующую ошибку из файла правил:

dpkg-buildpackage -rfakeroot -us -uc -ui
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: info: source package vm-perf-mon
dpkg-buildpackage: info: source version 2018.07.24.211328
dpkg-buildpackage: info: source distribution RELEASED
dpkg-buildpackage: info: source changed by root <root@034f0c4becfc>
 dpkg-source --before-build debbuild
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
make: 
: No such file or directory
make: *** No rule to make target '
'.  Stop.
dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2
debuild: fatal error at line 1152:
dpkg-buildpackage -rfakeroot -us -uc -ui failed

................................................................................Вопросы:

  1. Он утверждает, что не существует правила для создания цели, но фактическое имя цели не указано.
  2. Файл правил не имеет целей, кроме стандартных % как универсальный, так и сверхурочный dh_installinit цель. Насколько я знаю, % должен поймать все неопределенные цели и позаботиться об этом1.

Поскольку цель make пуста, я даже не знаю, с чего начать. Мне было интересно, сталкивался ли кто-нибудь с этим раньше или имеет какое-либо представление о том, что это такое или почему это происходит.

Я прочитал это, но в случае с ОП там была указана цель, у которой не было правила.


  1. https://www.debian.org/doc/manuals/maint-guide/dreq.en.html

1 ответ

Решение

Просматривая вывод, я заметил, что "Нет такого файла или каталога" и "Нет правила для создания цели" оба выглядят символом новой строки. Мне удалось воспроизвести похожую ошибку, добавив возврат каретки в конец первой строки.

Вы должны убедиться, что в файле debian/rules нет необычных символов.

Другие вопросы по тегам