Packaging
從程序到完成項目,“真正的” Unix 應用程序需要什麼?
我正在完成一個用於 Unix的小型命令行 BASIC 解釋器。它目前由十幾個原始碼和標頭檔、一個 makefile、測試文件和一個用於在 Mac 上工作的 Xcode 項目組成。這是我的第一個純 CLI 項目。
在 iOS 上發布應用程序有據可查,有您需要送出的項目清單 - 應用程序本身,進入 App Store 頁面的各種材料,如圖像和文本,等等。還有關於流程本身的工作流程以及如何宣傳的指南。
Unix 的等價物是什麼?有幾十個包管理器/應用程序商店以及任意數量的更簡單的下載站點,我發現很難完全理解它們。我嘗試用Google搜尋這個主題,但結果被個別產品的安裝指南污染了。我找到的唯一有說服力的頁面是針對 Unix System V 的。
我想知道是否有人會向我指出一個指南的方向,該指南將帶您完成此過程並指出使用者的期望是什麼?我不想做一個包裹,但忘記了一些“每個人都知道你需要這個”之類的東西。
Debian 有一個“如何成為優秀的上游指南”,其中包含許多有用的提示,即使您實際上並沒有為 Debian 或任何其他發行版開發軟體包。主要考慮因素是:
- 提供原始原始碼,理想情況下沒有建構工件
- 不包括第三方依賴項
- 選擇許可證,並確保選擇明確
- 做實際的發布
- 包括文件(額外的獎勵積分,手冊頁)
- 避免硬編碼路徑
- 如果您需要儲存使用者特定的配置等,請遵循XDG 基本目錄規範
- 仔細選擇你的依賴
- 包括一個測試套件(為了獲得額外的獎勵積分,允許它在安裝後使用您的程序執行,而不僅僅是在建構樹中)
- 注意安全
當涉及到您的建構系統本身時,有更詳細的考慮;我經常遇到的一個痛點是使用特定的標誌,或者忽略眾所周知的標誌(
CFLAGS
等LDFLAGS
)。