開發技巧 / 如何從「Lingmo 原始碼專案」編譯成「Debian Package」
主題
緣起
從「LingmoOS / lingmo-build」這個專案,學到下面三個指令。
主要是探索「LingmoOS / lingmo-build / Modules / BuildUtils.psm1」這個檔案。
##
## ## Link
##
## * https://github.com/LingmoOS/lingmo-build
## * https://github.com/LingmoOS/lingmo-build/blob/main/Modules/BuildUtils.psm1
##
##
##
## ## Install-GlobalDepends
##
sudo apt-get --yes install git devscripts equivs
##
## ## Install-RepoDepends
##
sudo mk-build-deps -i -t "apt-get -y" -r
##
## ## Start-CompileDeb
##
dpkg-buildpackage -b -uc -us -tc -j$(nproc)
說明
以下以「LingmoOS / lingmo-core」這個專案,當作案例說明
安裝打包過程所需的「Package」
執行下面指令,安裝打包過程所需的「Package」
sudo apt-get --yes install git devscripts equivs
準備工作資料夾
執行下面指令,產生工作資料夾「~/Documents/lingmo/source」
mkdir -p ~/Documents/lingmo/source
執行下面指令,切換到工作資料夾「~/Documents/lingmo/source」
cd ~/Documents/lingmo/source
Clone
執行下面指令,clone「lingmo-core」這個專案。
git clone https://github.com/LingmoOS/lingmo-core.git
執行下面指令,切換到「lingmo-core」這個資料夾
cd lingmo-core
安裝編譯專案所需的「Package」
執行下面指令,安裝編譯專案所需的「Package」
sudo mk-build-deps -i -t "apt-get -y" -r
編譯打包
執行下面指令,編譯打包
dpkg-buildpackage -b -uc -us -tc -j$(nproc)
打包完成的檔案,會放在上層資料夾
ls -1 ../lingmo-core*.*
顯示
../lingmo-core_2.0.2_amd64.buildinfo
../lingmo-core_2.0.2_amd64.changes
../lingmo-core_2.0.2_amd64.deb
../lingmo-core-dbgsym_2.0.2_amd64.deb
Manpage
其他「clone」的參考指令
clone recursive
git clone --recursive "https://github.com/LingmoOS/lingmo-core.git" "lingmo-core"
clone tag 2.0.1
git clone --recursive -b "2.0.1" "https://github.com/LingmoOS/lingmo-core.git" "lingmo-core"
應用專案
從「LingmoOS / lingmo-build」這個專案學到上面的概念基礎,我另外寫了新的專案「lingmo-build-debian-package-factory」,一樣用來打包「lingmo-build / Configs」所列的專案。
Link | GitHub |
---|---|
lingmo-build-debian-package-factory | GitHub |