+------------------------+
  |   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 裡了。