Debian
建構沒有捆綁在一起的相關軟體包的 Debian 軟體包
當我建構一個 debian 包時,通常會建構許多捆綁在一起的相關包,以及
foo-dbgsym-*
版本和foo-doc
包。例如,即使是相對簡單的包,如
make
, 也會建構額外的包:make-dbgsym_4.2.1-1.2_amd64.deb make-guile-dbgsym_4.2.1-1.2_amd64.deb make-guile_4.2.1-1.2_amd64.deb make_4.2.1-1.2_amd64.deb
我可以告訴建構系統只建構
make
而不是建構make-guile
嗎?這是我用於建構包的過程:
apt-get source make cd make* dpkg-buildpackage --build=binary --no-sign
是否有一個通用過程可以指定我要建構哪些包?
Make是一個簡單的例子,但是較大的包會建構許多我不感興趣的包版本,需要安裝依賴庫,並且建構過程需要更長的時間。
dbgsym
可以使用建構noautodbgsym
選項禁用軟體包:DEB_BUILD_OPTIONS=noautodbgsym dpkg-buildpackage -us -uc
通過更改
--build
.dpkg-buildpackage
除此之外,沒有通用的方法來挑选和選擇要建構的包和要安裝的依賴項。特別是,建構依賴項與它們相關的二進制包無關。
一些包支持建構配置文件;您可以通過
Build-Profiles
在debian/control
. 在此類包中,dpkg-buildpackage
’-P
選項選擇適當的配置文件,有時與建構選項結合使用。例如,在帶有nocheck
配置文件的包上,DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -Pnocheck
將跳過與測試相關的建構依賴項(如果有)並跳過執行測試。
事實上,最新版本的
make
軟體包聲稱提供了一個noguile
建構配置文件,所以應該可以跳過 Guiledpkg-buildpackage -Pnoguile -us -uc
除了配置文件定義不完整。
始終可以編輯
debian/control
以刪除不相關的包,並debian/rules
刪除不相關的建構步驟。