【问题标题】:Distributing source files with an open source app使用开源应用程序分发源文件
【发布时间】:2009-10-25 12:39:27
【问题描述】:

我为 Linux 和 OSX 编写了一个开源 (GPL) 应用程序,现在希望分发它。默认情况下将源代码与二进制文件一起分发是正常的,还是只提供一个可以获取它的链接?

如果我包含源文件,在 Linux 和 OSX 的用户系统上编写它们的正常位置在哪里(我以为 /usr/local/src 但在我的 Ubuntu 机器上,据说塞满了开源应用程序,这个目录是空的)。

【问题讨论】:

    标签: linux macos open-source distribution packaging


    【解决方案1】:

    通常将源代码和二进制文件分开分发。二进制文件通常以特定于发行版的包格式分发,而源文件将是一个包含项目文件夹的简单 .tar.gz。如果需要,用户可以将其解压缩到 /usr/local/src,但它应该在任何地方构建。将其源代码放在任何特定位置并不取决于您的程序。

    我以为 /usr/local/src 但在我的 Ubuntu 机器上,据说塞满了开源应用程序,这个目录是空的

    如果您只使用 Ubuntu 存储库,它将为空。操作系统负责 /usr 并将您安装的任何源放入 /usr/src。但是 /usr/local 留给你玩;那是你安装发行版不提供的东西的地方。

    【讨论】:

      【解决方案2】:

      关于/usr/local/src

      /usr/local 和任何子目录在你的机器上总是空的,除非你专门在里面放了一些东西。它是文件系统的一部分,为特定机器的用户安装软件保留。 Ubuntu(或任何发行版)不应该接触它。

      如果有的话,您的发行版将有单独的地方存放自己的源代码。无论如何,大多数 Ubuntu 安装都不需要源代码(尽管您可以根据需要下载它),但如果他们这样做,它将转到 /usr/src 之类的地方。但是,如果您想将自己的源代码放在某个地方并且不希望您的发行版弄乱它,那么只需:

      • 如果只是为了在您自己的用户帐户中开发/编译,您可以将其放在您的主目录中的某个位置。
      • 如果它是您要在系统上安装的软件,建议安装在 /usr/local/src 位置,并且您的发行版不会在该位置出现问题。

      FHS 是一个标准,它说明了文件系统的位置,包括我上面讨论过的区别。

      无论在哪个目录下,您的软件都应该能够被编译,因为正如您所见,它可以依赖。

      【讨论】:

      • 实际上,bobince 在回答的第二部分中似乎比我更简洁地解释了这一点。
      【解决方案3】:

      值得在 Sourceforge (http://www.sf.net) 上查看一些项目。正如@bobince 所提到的,分开分发二进制文件和源代码是正常的。不需要编译,这样他们就可以下载和运行,这对用户来说当然是件好事。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-05
        • 2011-01-04
        • 2011-05-04
        • 2013-10-22
        相关资源
        最近更新 更多