如何在 Debian 上编译 mercurial 1.5.2?

如何在 Debian 上编译 mercurial 1.5.2?

我从以下网址下载了 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-buildpackagedebian/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构建文件的所有信息。

相关内容