没有构建工具的 Debian 打包
Debian Packaging Without Build Tool
我想从 C 程序创建 Debian 软件包,而不使用 autotools 或 CMake 等构建工具。我的 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)
问题似乎与我在扩展 $@
的 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
我想从 C 程序创建 Debian 软件包,而不使用 autotools 或 CMake 等构建工具。我的 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)
问题似乎与我在扩展 $@
的 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