web-dev-qa-db-fra.com

debuild error “*** Pas de règle pour créer la cible” où la cible est vide

Nous essayons de créer un paquet deb, d'installer et de démarrer automatiquement quelques scripts de surveillance que nous avons.

Voici le fichier de règles:

#!/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

Lors de la construction de ce paquet, l'erreur suivante apparaît dans le fichier de règles:

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

.................................................. .............................. Problèmes:

  1. Il affirme qu'il n'y a pas de règle pour créer une cible, mais que le nom de la cible réelle est vide.
  2. Le fichier de règles n'a pas de cibles, à l'exception de la valeur par défaut % en tant que tout-aller et de la cible surchargée dh_installinit. Autant que je sache, % est censé intercepter toutes les cibles non définies et s'en occuper.1.

Comme la cible est vide, je ne sais même pas par où commencer. Je me demandais si quelqu'un avait déjà fait face à cela auparavant, ou avait une idée de ce que c'était ou pourquoi cela se passait.

J'ai lu this , mais dans le cas des PO, il spécifiait une cible sans règle.


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

En regardant la sortie, j'ai remarqué que "Aucun fichier ou répertoire de ce type" et "Aucune règle pour définir la cible" ne semblent être qu'un caractère de nouvelle ligne. J'ai réussi à reproduire une sortie d'erreur similaire en ajoutant un retour chariot à la fin de la première ligne.

Vérifiez que le fichier debian/rules ne contient aucun caractère inhabituel.

1
Jason Conti