我有一个简单的项目,其中包含一个简单的可执行脚本和几个数据文件。
我想为用户提供一种安装它的方法;我猜这只是将脚本复制到/usr/local/bin/
并将数据文件复制到。/usr/local/share
当然,我可以Makefile
为此提供一个,但这会引入对make
.我应该只提供一个简单的 shell 脚本来完成此任务吗?
另外,如果可能的话,我希望发行版打包者(Fedora、Debian 等)能够轻松创建包。我想他们无论如何也不会使用我的安装脚本,是吗?有关于如何解决这个问题的任何信息吗? Linux 发行版只有“如何为 x 打包”的信息,但没有“如何创建软件以便我们可以轻松地将其打包为 x”的信息,还是我弄错了?
答案1
使脚本易于安装的一种方法是允许它自行安装(使用合适的选项)... 这可能不太传统,但应该可以很好地满足您的目的,至少对于最终用户而言。请确保使用 的子目录/usr/local/share
,而不是/usr/local/share
直接使用。您可能还需要考虑允许在用户的主目录中进行安装 — 如果您的脚本可以与其数据一起使用,那么这将是最简单的选择。
对于打包者来说,简单的包可能不会依赖于您提供的安装机制,这是正确的:告诉打包系统将三个文件复制到适当的位置同样容易。对于软件包,您必须确保您的脚本可以轻松处理安装在/usr/bin
和/usr/share/<something>
而不是/usr/local/...
.
看Debian 的上游指南获取描述如何成为软件包友好的上游开发人员的综合指南。该指南中的大多数建议都不是特定于 Debian 的。 (在这种特殊情况下,大多数也不适用于您!)