我正在使用pbuilder-dist
Debian 不稳定版和 Ubuntu Precise 构建软件包。我想知道如何lintian
在某个 chroot 中运行(可能还有其他命令)。
我的机器上有 Ubuntu 12.04。
答案1
cowbuilder
Lintian 可以在内部或pbuilder
使用钩子运行。/usr/share/doc/pbuilder/examples/
只需将您想要的钩子复制到目录中:
mkdir ~/pbuilderhooks
cp /usr/share/doc/pbuilder/examples/B90lintian $HOME/pbuilderhooks
然后告诉 pbuilder 使用该目录中的钩子:
echo "HOOKDIR=$HOME/pbuilderhooks/" >> ~/.pbuilderrc
和/或:
echo "HOOKDIR=$HOME/pbuilderhooks/" | sudo tee -a /etc/pbuilderrc
如果您打算在不使用 sudo 的情况下运行cowbuilder-dist
或 ,则需要第一个pbuilder-dist
;如果您打算运行sudo cowbuilder
或 ,则需要后者sudo pbuilder
。使用 tee -a 以避免覆盖原始 /etc/pbuilderrc 文件。
答案2
我相信,运行 debuild -S 将在 source.changes 上为您运行 lintian。在二进制构建期间,Lintian 也会在 .changes 文件上运行。构建二进制和/或源包后,您可以手动针对任一 .changes 文件运行 lintian,如下所示:
mfisch@caprica:~$ lintian libkqueue_1.0.4-2ubuntu1_amd64.changes
或者
mfisch@caprica:~$ lintian libkqueue_1.0.4-2ubuntu1_source.changes
您可能会从每个构建(源代码和二进制文件)中得到不同的 lintian 错误或警告。
如果您想更快地操作,请运行 pbuilder --login,安装 build-deps 并在那里运行您的构建,这样可以节省每次构建之前重新安装 deps 的启动时间。