+------------------------+
| Debian package list |
| <list>/out/<list>.list |--+ debian/debian.mk
+------------------------+ | debian/debian.deps.sh
+------------------------+
+--------------------------+ | |
| dpkg control template |-+ v
| <list>/<list>.control.in | +---------------------------+
+--------------------------+ | dpkg control file |
| <list>/out/<list>.control |
+---------------------------+
產生 dpkg control 檔案
由於 dpkg control 檔案有很多欄位,如果全部用 script 產生,那麼 script 會很亂。
所以我們改為編寫一個簡單的 template 檔案,即 debian.control.in,再使用 sed 將
template 檔案中的空格填入對應的值。其中 @DEPS@
會替換清單中指定的所有套件,
由於格式較為複雜,這樣功能獨立放在 debian.deps.sh 中。
產生 meta-package
有了 dpkg control 檔案,只要把適當的目錄結構準備好,執行 dpkg-deb 就能包成 套件了。這段的規則很簡單,所以直接寫進 Makefile 裡了。