Packaging

從程序到完成項目,“真正的” Unix 應用程序需要什麼?

  • August 16, 2022

我正在完成一個用於 Unix的小型命令行 BASIC 解釋器。它目前由十幾個原始碼和標頭檔、一個 makefile、測試文件和一個用於在 Mac 上工作的 Xcode 項目組成。這是我的第一個純 CLI 項目。

在 iOS 上發布應用程序有據可查,有您需要送出的項目清單 - 應用程序本身,進入 App Store 頁面的各種材料,如圖像和文本,等等。還有關於流程本身的工作流程以及如何宣傳的指南。

Unix 的等價物是什麼?有幾十個包管理器/應用程序商店以及任意數量的更簡單的下載站點,我發現很難完全理解它們。我嘗試用​​Google搜尋這個主題,但結果被個別產品的安裝指南污染了。我找到的唯一有說服力的頁面是針對 Unix System V 的。

我想知道是否有人會向我指出一個指南的方向,該指南將帶您完成此過程並指出使用者的期望是什麼?我不想做一個包裹,但忘記了一些“每個人都知道你需要這個”之類的東西。

Debian 有一個“如何成為優秀的上游指南”,其中包含許多有用的提示,即使您實際上並沒有為 Debian 或任何其他發行版開發軟體包。主要考慮因素是:

  • 提供原始原始碼,理想情況下沒有建構工件
  • 不包括第三方依賴項
  • 選擇許可證,並確保選擇明確
  • 做實際的發布
  • 包括文件(額外的獎勵積分,手冊頁)
  • 避免硬編碼路徑
  • 如果您需要儲存使用者特定的配置等,請遵循XDG 基本目錄規範
  • 仔細選擇你的依賴
  • 包括一個測試套件(為了獲得額外的獎勵積分,允許它在安裝後使用您的程序執行,而不僅僅是在建構樹中)
  • 注意安全

當涉及到您的建構系統本身時,有更詳細的考慮;我經常遇到的一個痛點是使用特定的標誌,或者忽略眾所周知的標誌(CFLAGSLDFLAGS)。

引用自:https://unix.stackexchange.com/questions/713791