Debian系列的软件包一般使用dpkg**类似的工具进行手动编译,但是需要一些依赖包时就必须安装到开发机器所在的操作系统中,导致系统越来越臃肿。为方便管理和与所在系统隔离,Debian引出了buildd工具。
1 buildd环境安装:
$ sudo apt-get install ubuntu-dev-tools sbuild
2 添加用户到sbuild组:
$ sudo adduser <username> sbuild
3 建立schroots环境:
mk-sbuild --debootstrap-mirror=http://url/debian --arch=armhf jessie
以上命令将在/var/lib/schroot/chroots/目录下建立整套arm的chroot环境,mk-sbuild具体使用方法参见mk-sbuild –help。新建的chroot环境可用schroot -l查看:
buildd@debian:~/build$ schroot -l
chroot:jessie-amd64-sbuild
chroot:jessie-armhf
source:jessie-armhf
4 以重新编译acl包为例简单介绍deb包的编译方法:
mkdir ~/acl
cd ~/acl
apt-get source acl //将从服务器下载acl包的源码并自动解压、打补丁
cd acl-2.3
sbuild --arch armhf -c jessie-armhf -d jessie
# 或者直接在~/acl目录执行
# sbuild --arch armhf -c jessie-armhf -d jessie acl-2.3.dsc
...
...
# 编译完成后将在~/acl目录生成deb安装包