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安裝包