0

我想在不使用诸如 autotools 或 CMake 之类的构建工具的情况下从 C 程序创建一个 Debian 包。我的debian/rules文件:

#!/usr/bin/make -f

%:
    dh $@

override_dh_auto_clean:
    rm -f program

override_dh_auto_build:
    gcc program.c -o program

override_dh_auto_install:
    cp program /usr/local/bin

运行后dpkg-buildpackage,我得到: dh: error: Unknown sequence application (choose from: binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep)

4

1 回答 1

0

似乎问题与我在扩展的 shell 脚本 heredoc 中创建文件有关$@,例如

cat <<EOF > debian/rules.temp
#!/usr/bin/make -f

%:
    dh $@
EOF

应该是:

all_symbol='$@'
cat <<EOF > debian/rules.temp
#!/usr/bin/make -f

%:
    dh $all_symbol
EOF

一个不相关的问题是override_dh_auto_install手动创建 Debian 文件层次结构的位置,它应该是:

override_dh_auto_install:
    mkdir -p debian/PACKAGENAME/usr/bin 
    cp program debian/PACKAGENAME/usr/bin

或者,要自动完成此操作:

cat <<EOF > debian/PACKAGENAME.install
program usr/bin
EOF
于 2021-09-01T23:40:02.843 回答