dpkg 构建包错误:debian/rules clean 给出错误退出状态 2

问题描述 投票:0回答:5

我尝试使用命令构建包

sudo fakeroot dpkg-buildpackage -F.

并在最终遇到这些结果。

dpkg-buildpackage: source package calender
dpkg-buildpackage: source version 1.5-1
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Nandaraj <[email protected]>
dpkg-buildpackage: host architecture amd64
dpkg-source --before-build calender-1.5
debian/rules clean
debian/rules:18: *** missing separator.  Stop.
dpkg-buildpackage: error: debian/rules clean gave error exit status 2

我的规则文件是:

#!/usr/bin/make -f

icon=$(CURDIR)/calender.png
script=$(CURDIR)/calender.py
launcher=$(CURDIR)/calender.desktop
links=$(CURDIR)/links.txt

DEST1=$(CURDIR)/debian/calender/usr/share/calender
DEST2=$(CURDIR)/debian/calender/usr/share/applications

build: build-stamp

build-stamp:
    dh_testdir
    touch build-stamp

clean:
    dh_testdir
    dh_testroot
    rm -f build-stamp
    dh_clean


install: build clean $(icon) $(script) $(links) $(launcher)
    dh_testdir
    dh_testroot
    dh_prep
    dh_installdirs


    mkdir -m 755 -p $(DEST1)
    mkdir -m 755 -p $(DEST2)


    install -m 666 $(icon) $(DEST1) 
    install -m 777 $(script) $(DEST1)
    install -m 666 $(links) $(DEST1)
    install -m 777 $(launcher) $(DEST2)

binary-indep: build install
    dh_testdir
    dh_testroot
    dh_installchangelogs
    dh_installdocs
    dh_installexamples
    dh_installman
    dh_link
    dh_compress
    dh_fixperms
    dh_installdeb
    dh_gencontrol
    dh_md5sums
    dh_builddeb

# Build architecture-dependent files here.
binary-arch: build install
# We have nothing to do by default.

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install

我的 .desktop 文件是:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_IN]=/
Name[en_IN]=calender
Exec=/usr/share/applications/calender.py
Comment[en_IN]=program prints calender
Name=calender
Comment=program prints calender
Icon=/usr/share/calender/cal.png
Categories=Network;GTK;GNOME

无法构建包的问题是

debian/rules:18: *** missing separator.  Stop.
dpkg-buildpackage: error: debian/rules clean gave error exit status 2
debian dpkg
5个回答
6
投票

这可能是由

debian/rules

中某处的空格引起的

对于

nano
编辑
/usr/share/nano/sh.nanorc
的第一行并将其更改为:

syntax "sh" "\.sh$" "rules"

现在,当您使用

debian/rules
编辑
nano
时,空白将显示为绿色。


2
投票

当目标后面的行前面有空格而不是制表符时,这是 make 产生的常见错误。在这种情况下,目标看起来像

clean
。因此,请检查 clean 目标后面的行,并查看其中是否有任何行在文本开头之前包含空格。


2
投票

就我而言: 此错误消息“dpkg-buildpackage:错误:debian/rules clean 给出错误退出状态 2”仅意味着: “debian/rules 文件中的其中一项操作失败。” 您应该修复真正的错误,通常是此错误消息之前的错误消息。


0
投票

就我而言,这是因为我将文件的文件夹称为“CDEMU TARS”。我看到它尝试运行带有“TARS/***”的命令。

我将其更改为不带空格的 cdemutarbs,命令运行良好。


-2
投票

尝试

fakeroot sudo make -j4 deb-pkg
© www.soinside.com 2019 - 2024. All rights reserved.