如何构建 GNU Hello .deb?

如何构建 GNU Hello .deb?

我似乎不知道如何构建Ubuntu 22.04 上的 GNU 你好。要重现,请使用 启动 Docker 容器docker run --interactive --rm --tty ubuntu:22.04,然后运行以下命令:

apt-get update
apt-get install -y debhelper-compat dpkg-dev wget
cd "$(mktemp --directory)"
wget http://archive.ubuntu.com/ubuntu/pool/main/h/hello/hello_2.10.orig.tar.gz http://archive.ubuntu.com/ubuntu/pool/main/h/hello/hello_2.10-2ubuntu4.dsc http://archive.ubuntu.com/ubuntu/pool/main/h/hello/hello_2.10-2ubuntu4.debian.tar.xz
tar -xf hello_2.10-2ubuntu4.debian.tar.xz
mkdir hello_2.10-2ubuntu4
mv debian hello_2.10-2ubuntu4
cd hello_2.10-2ubuntu4
dpkg-buildpackage

此时我收到此错误消息:

cp:无法统计“新闻”:没有这样的文件或目录

其次是

dh_installdocs:错误:cp --reflink=auto -a NEWS debian/hello/usr/share/doc/hello 返回退出代码 1

我究竟做错了什么?NEWS文件应该在哪里?构建知道上游 tarball(“dpkg-source:info:使用现有的 ./hello_2.10.orig.tar.gz 构建 hello”),我需要手动解压吗?

答案1

是的,您还需要提取主 tarball:

tar xf hello_2.10.orig.tar.gz
cd hello*/
tar xf ../hello_2.10-2ubuntu4.debian.tar.xz
dpkg-buildpackage

apt-get source hello将负责为您下载和解压源包(如果配置了源存储库),并将apt-get build-dep负责构建依赖项:

apt-get update
apt-get source hello
apt-get build-dep hello
cd hello*/
dpkg-buildpackage

相关内容