我从以下网址下载了 Mercurial 1.5.2 的文件http://packages.debian.org/sid/mercurial(mercurial_1.5.2-1.debian.tar.gz、mercurial_1.5.2-1.dsc 和 mercurial_1.5.2.orig.tar.gz)。如何从这些软件包中获取 .deb 软件包?我尝试按照以下说明操作:http://www.debian.org/doc/maint-guide/ch-build.en.html但它们不起作用。
我尝试解压这两个档案并运行dpkg-buildpackage
或debian/rules build
但失败:
dh --with quilt clean
dh_testdir
debian/rules override_dh_auto_clean
make[1]: Entering directory `/home/user/packages/mercurial-deb'
cp -a mercurial/__version__.py mercurial/__version__.py.save
cp: cannot stat `mercurial/__version__.py': No such file or directory
make[1]: *** [override_dh_auto_clean] Error 1
make[1]: Leaving directory `/home/user/packages/mercurial-deb'
make: *** [clean] Error 2
这是因为目录mercurial
在里面mercurial_1.5.2/
。为什么构建脚本没有cd
放到正确的位置?如果我尝试../debian/rules build
,我会得到
dh --with quilt build
dh: cannot read debian/control: No such file or directory
叹
如何为 Debian 编译软件包???
答案1
你为什么要重新编译它?随便吧。
首先,使用以下命令获取它们:dget -u --insecure http://ftp.de.debian.org/debian/pool/main/m/mercurial/mercurial_1.5.2-1.dsc
然后运行这些命令。这会将它们打包成类似于存档中的 deb。
(我只需将 sid.list 添加到我的 /etc/apt/sources.list.d/ 中并使用 apt-pinning,因为它会抓取每个需要的依赖项等等。apt-pinning
如果您只是想要一个较新的版本,您应该检查一下。)
答案2
你需要获得mercurial_1.5.2-1.debian.tar.gz文件也是如此。将其解压到正确的位置,您就可以开始了。
该orig
文件是 Debian 人员掌握的源代码。该debian
文件包含他们对软件包所做的更改,包括有关如何.deb
构建文件的所有信息。