Release Guide
- 1. 先從 devel 分支 fork 出一個 release-#.#.# 分支
- git checkout -b release-#.#.# remotes/origin/devel
- git push origin release-#.#.#:release-#.#.#
- 2. 確定 ok 後,標定版本
- 執行 ./scripts/release.sh <版號> ( 例: v0.6.4 )
- git commit ( 更新 VERSION, CHANGELOG.md, Manifest, ... )
- 整體檢查一遍, 若有問題回到前面修正
- git tag v#.#.#
- git push && git push --tags
- 3. 將新版號 #.#.# 併進 master
- git checkout master
- git merge #.#.#
- git push
- 4. 在標定版本號 #.#.# 下,製作標準 tarball
- git checkout #.#.#
- ./configure ; make; make dist
- 5. 上傳標準 tarball 至一公開網址 ( 作為 official upstream release version )
- 在 github.com 的 tag 區,編輯最新 tag. 該處可上傳 tarball
- 6. 寫 email 發佈 release 公報
- 7. 依此 tarball 對各 distribution 進行打包
- deb => ( ubuntu PPA / debian repo )
- rpm => open build service
- 8. done. ( 接著收集 feedback / bug , 並討論下一版本... )
目前套件發佈管道
- Tarball: https://github.com/hacking-thursday/sysd/releases
- DEB: https://launchpad.net/~sysd/+archive/ubuntu/sysd
- RPM: https://build.opensuse.org/package/show/home:matlinuxer2/sysd
- http://software.opensuse.org/download.html?project=home%3Amatlinuxer2&package=sysd
- Arch: https://aur.archlinux.org/packages/sysd-git
- Gentoo: https://github.com/microcai/gentoo-zh/tree/master/sys-apps/sysd
準備事項
- 註冊 & 申請 launchpad 帳號
- 註冊 & 申請 open build service 帳號 https://build.opensuse.org/
- 安裝並設定 gpg
DEB
- cd <proj>/sysd
- apt-get update && apt-get install -y devscripts wget expect
- 設定 gpg
- gpg --export-secret-key -a > sec.key ( on host os )
- gpg --allow-secret-key-import --import < sec.key ( on guest os )
- cd <proj>/sysd/pkg/deb/
- edit ppa.sh ,更新 version
- chmod +x ppa.sh && ./autosign ./ppa.sh
RPM
- 上傳 spec 檔至 package
- 上傳 tarball 檔至 package