---
# System prepended metadata

title: 如何編譯一個 Debian package
tags: [' tossug', hackpad-import]

---

---
hackpadID: uXGJHm1zcgj
hackpadWorkspace: tossug
tags: hackpad-import, tossug
---
# 如何編譯一個 Debian package
###### tags: `Debian packaging workshop`
## Native way

1.  首先利用 lxc 建立一個 Ubuntu 14.04 的 VM 或者你也可以直接使用你的 Debian/Ubuntu 環境

*   sudo apt-get install lxc
*   sudo MIRROR=[](http://free.nchc.org.tw/ubuntu)http://free.nchc.org.tw/ubuntu lxc-create -t ubuntu -n trusty -- -r trusty -a amd64 # 建立乾淨的VM
*   sudo lxc-start -d -n trusty # 啟動vm
*   sudo lxc-console -n trusty # 登入VM

1.  安裝必要套件

*   sudo apt-get install dpkg-dev devscripts

1.  安裝相依的軟體套件（以 hime 為例）

*   sudo apt-get build-dep hime

1.  修改 /etc/apt/sources.list 加入相關的 deb-src lines，例如以下

*   deb-src [](http://free.nchc.org.tw/ubuntu)http://free.nchc.org.tw/ubuntu trusty main restricted universe multiverse
*   deb-src [](http://free.nchc.org.tw/ubuntu)http://free.nchc.org.tw/ubuntu trusty-updates main restricted universe multiverse
*   deb-src [](http://security.ubuntu.com/ubuntu)http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

1.  下載該套件的 Debian source package (以下列出抓取不同來源的方法)

*   apt-get source hime # 抓取該 Distribution 上面的版本
*   debcheckout hime # 從 Debian version control 上抓 Debian source package
*   dget -x -u [](http://dearchive.ubuntu.com/ubuntu/pool/universe/h/hime/hime_0.9.10-3.dsc)http://dearchive.ubuntu.com/ubuntu/pool/universe/h/hime/hime_0.9.10-3.dsc # 指定特定版本抓 Debian source package

1.  準備好姓名與Email

*   export DEBEMAIL="your@email.com"
*   export DEBFULLNAME="Your Name"

1.  修改 changelog

*   dch -R -D trusty Rebuild for trusty.

1.  開始編譯 Debian binary package

*   debuild -us -uc -tc

1.  安裝產生出來的 Debian binary package 進行測試
2.  產生 Debian source package

*   debuild -S

## Setup sbuild to Build Debian Package

**Setup**

mk-sbuild --arch=<arch> release

**List**

schroot -l

**Update**

schroot -c source:sid-amd64

apt update

apt full-install

**Build**

sbuild -A -d unstable -c chroot:sid-amd64 package.dsc

**autopkgtest**

adt-run package.dsc --- adt-virt-schroot chroot:sid-amd64
