Pau*_*han 6 packaging development
我需要为 Ubuntus Lucid 构建 debs。我知道我可以设置虚拟机/文件树根切换等,使每共建分布,但有从我解梦机的机制做一些像:
ubuntu-dpkg-buildpackage --distro=Lucid
并生成一个 Lucid deb?
快速说明一下,这是针对内部包的,因此不能用于 Launchpad 或其他任何地方。
没有单一命令的解决方案可以做到这一点,但确实存在可以使其相对轻松的工具:
debootstrap
可以在自包含目录中创建原始的、最小的 Ubuntu 安装schroot
允许您管理多个 chroot,保持它们干净以备后用mk-schroot
可用于自动化 schroot 设置和管理debuild -S
),sbuild
将 chroot 到你的原始 chroot 中,安装任何依赖包,并构建你的源代码。这基本上是启动板构建服务器用来构建源包并将它们放入 Ubuntu 存档的内容。
通常,使用原始 chroot 是一种很好的做法,因为它可以确保包不依赖于构建机器上的任何自定义设置。
设置过程将涉及为您想要定位的每个 Ubuntu 版本创建一个新的 schroot。这相当简单:用于mk-sbuild
为自己构建一个新的 chroot。像这样的东西就是你想要的:
mk-sbuild --arch=amd64 --name=lucid lucid
这将指导您创建一个名为“lucid-amd64”的 chroot,并在完成后打印出以下有用信息:
完成构建 lucid-amd64。 更改黄金映像: sudo schroot -c lucid-amd64-source -u root 输入图像快照:schroot -c lucid-amd64 在快照中构建:sbuild -A -d lucid-amd64 PACKAGE*.dsc
因此,一旦您的 chroot 设置好,构建过程将是:
debuild -S
的源包的顶级目录,创建一个源包,包括<package>_<version>.dsc
sbuild -A -d lucid-amd64 ../<package>_<version>.dsc
有关详细信息,请参阅、、和的联机帮助页mk-sbuild
,非常全面。https://wiki.ubuntu.com/DebootstrapChroot有一些关于构建和配置 chroot 的好信息。此外,如果您需要帮助,irc.freenode.net 上还有 #ubuntu-devel。schroot
sbuild
debootstrap
debuild
归档时间: |
|
查看次数: |
1753 次 |
最近记录: |