解构错误“*** 没有规则来制作目标”其中目标是空白

解构错误“*** 没有规则来制作目标”其中目标是空白

我们正在尝试创建一个 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 目标是空白的,我甚至不知道从哪里开始。我想知道是否有人曾经遇到过这种情况,或者知道这是什么或为什么会发生这种情况。

我确实读过,但在 OP 的案例中,它指定了一个没有规则的目标。


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

答案1

查看输出时,我注意到“没有这样的文件或目录”和“没有规则来制作目标”都似乎是一个换行符。我设法通过在第一行末尾添加回车符来复制类似的错误输出。

您应该检查 debian/rules 文件中是否存在任何不寻常的字符。

相关内容