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
................................................................................Вопросы:
- Он утверждает, что не существует правила для создания цели, но фактическое имя цели не указано.
- Файл правил не имеет целей, кроме стандартных
%как универсальный, так и сверхурочныйdh_installinitцель. Насколько я знаю,%должен поймать все неопределенные цели и позаботиться об этом1.
Поскольку цель make пуста, я даже не знаю, с чего начать. Мне было интересно, сталкивался ли кто-нибудь с этим раньше или имеет какое-либо представление о том, что это такое или почему это происходит.
Я прочитал это, но в случае с ОП там была указана цель, у которой не было правила.
1 ответ
Просматривая вывод, я заметил, что "Нет такого файла или каталога" и "Нет правила для создания цели" оба выглядят символом новой строки. Мне удалось воспроизвести похожую ошибку, добавив возврат каретки в конец первой строки.
Вы должны убедиться, что в файле debian/rules нет необычных символов.