从程序到完整的项目,“真正的”Unix 应用程序需要什么?

从程序到完整的项目,“真正的”Unix 应用程序需要什么?

我正在完成一个小型命令行 BASIC 解释器对于 Unix。它目前由十几个源代码和标头、一个 makefile、测试文件和一个用于在 Mac 上工作的 Xcode 项目组成。这是我的第一个纯 CLI 项目。

在 iOS 上发布应用程序有详细记录,有您需要提交的项目清单 - 应用程序本身、App Store 页面中的各种材料(如图像和文本)等等。还有关于流程本身的工作流程以及如何宣传的指南。

Unix 上的等价物是什么?有数十个包管理器/应用程序商店以及许多更简单的下载网站,我发现很难理解这一切。我尝试用谷歌搜索该主题,但结果受到各个产品的安装程序指南的污染。我发现的唯一有说服力的页面是针对 Unix System V 的。

我想知道是否有人可以为我指明一个指南的方向,该指南将引导您完成此过程,并指出该过程的内容用户期望是?我不想制作一个包裹,但忘记了一些“每个人都知道你需要“ 那类的东西。

答案1

Debian 有一个“如何成为一名优秀的上游向导”,其中包含许多有用的提示,即使您实际上并未开发 Debian 或任何其他发行版的软件包。主要考虑因素是:

  • 提供原始源代码,最好没有构建工件
  • 不包含第三方依赖项
  • 选择许可证,并确保选择明确
  • 进行实际发布
  • 包括文档(额外奖励积分,手册页)
  • 避免硬编码路径
  • 如果您需要存储用户特定的配置等,请遵循XDG 基目录规范
  • 仔细选择你的依赖项
  • 包含一个测试套件(为了获得额外的奖励,允许它在安装后使用您的程序运行,而不仅仅是在构建树中)
  • 注意安全

当涉及到您的构建系统本身时,有更详细的考虑因素;我经常遇到的一个痛点是使用特定标志,或忽略众所周知的标志(CFLAGSLDFLAGS)。

相关内容