代码: 全选
apt-get source xxxxxx
下載新版本 xxxxxx 的原代碼,並解開:
代码: 全选
wget -c http://www.xxxxxx.org/xxxxxx.tar.gz
tar zxf xxxxxx.tar.gz
代码: 全选
cp -avp xxxxxx-old-version/debian xxxxxx-new-version/
代码: 全选
cd xxxxxx-new-version
nano debian/changelog
代码: 全选
debuild
代码: 全选
cd ..
sudo dpkg -i xxxxxx_new-version_(amd64 or i386).deb
不過,amd64位的 ubuntu 上,默認打出來的 deb 包是 amd64 的,32位系統上打出來的包是 i386 的。
現在,我希望在 amd64 的系統上編譯製作 i386 的 deb 包。
我試過修改原碼目錄內的 Makefile ,指定編譯為 32 位 binary。gcc 交叉編譯沒有問題,編譯出來的東西用 file 命令查看的確是 32 位的。可是編譯完成後,在生成 deb 包的時候,debuild 仍然以為要製作 64 位 deb 包。它檢查到編譯出來的東西是 32 位的,而它嘗試打出 amd64 的包,發現不符,拒絕打包,給出架構不同的錯誤訊息後退出,沒有生成任何 deb 包。
debuild 似乎沒有指定系統架構的參數選項。請各位高手指點,怎樣在 amd64 的 ubuntu 系統下編譯製作 i386 的 deb 包?