2013年8月26日 星期一

使用 git-buildpackage 維護原本就是使用 Git 維護的上游軟體的 Debian package

首先是將上游軟體的原始碼庫抓回來。

git clone https://github.com/fourdollars/x11-touchscreen-calibrator.git

然後是進到該原始碼目錄底下匯入已經釋出的 tarball

git-import-orig --upstream-vcs-tag=0.0 --upstream-branch=master --pristine-tar ../x11-touchscreen-calibrator_0.0.orig.tar.xz

上面這個指令會建立一個 commit 將 tarball 的內容 import 進去,並且建立一個 upstream/0.0 的 tag,只不過 master 也會指過去,所以再執行以下的指令倒回。

git reset --hard HEAD^

接下來是開始製作 Debian package 的部份,先建立一個 debian 的分支。

git checkout -b debian

然後在將 debian/ 這個目錄所需要的檔案都準備好,最後再 commit,然後就可以使用下面的指令來產生 Debian source package。

git-buildpackage --git-pristine-tar --git-debian-branch=debian -S --lintian-opts --profile debian

上面指令中的 `--lintian-opts --profile debian` 是在 Ubuntu 上面才需要加入的,如果在 Debian 裡面應該不需要使用。

另外,在還沒有完全準備好 debian/ 底下的檔案之前,也可以加入使用 `--git-ignore-new` 先試試看產生出來的 Debian source package 的品質如何,再決定要不要 commit。

等到這個 Debian package 已經成功被放進 Debian 官方套件庫裡面,就可以執行以下指令建立 debian/0.0-1 的 tag。

git-buildpackage --git-tag --git-pristine-tar --git-debian-branch=debian -S --lintian-opts --profile debian

最後就可以執行

git push --tags
將所有的 commit 跟 tag 都送回原本的 Git Repo 裡面。

參考文件:
張貼留言