Menu Close

2.11. 将源代码放入 tarball

这部分论述了如何将引入的三个 Hello World 程序都放在 gzip 的 gzip- 压缩 tarball 中,这也是以后发布软件的常用方法。???

例 2.4. 将 bello 项目放入 tarball

bello 项目在 bash 中实施 Hello World。该实施仅包含 bello shell 脚本,因此生成的 tar.gz 存档除 LICENSE 文件外仅有一个文件。

此流程演示了如何准备要分发的 bello 项目。

先决条件

在这里,这是计划的 0.1 版。

步骤

  1. 将所有需要的文件放入一个目录中:

    $ mkdir /tmp/bello-0.1
    
    $ mv ~/bello /tmp/bello-0.1/
    
    $ cp /tmp/LICENSE /tmp/bello-0.1/
  2. 为分发创建存档并将其移动到 ~/rpmbuild/SOURCES/ 目录,这是 rpmbuild 命令存储构建软件包的默认目录:

    $ cd /tmp/
    
    $ tar -cvzf bello-0.1.tar.gz bello-0.1
    bello-0.1/
    bello-0.1/LICENSE
    bello-0.1/bello
    
    $ mv /tmp/bello-0.1.tar.gz ~/rpmbuild/SOURCES/

有关 bash 编写的示例源代码的更多信息,请参阅使用 bash 编写 Hello World

例 2.5. 将 pello 项目放入 tarball

pello 项目使用 Python 实施 Hello World。该实施仅包含 pello.py 程序,因此生成的 tar.gz 存档除 LICENSE 文件外有一个文件。

此流程演示了如何准备用于分发的 pello 项目。

先决条件

在这里,这是计划的 0.1.1 版本。

步骤

  1. 将所有需要的文件放入一个目录中:

    $ mkdir /tmp/pello-0.1.2
    
    $ mv ~/pello.py /tmp/pello-0.1.2/
    
    $ cp /tmp/LICENSE /tmp/pello-0.1.2/
  2. 为分发创建存档并将其移动到 ~/rpmbuild/SOURCES/ 目录,这是 rpmbuild 命令存储构建软件包的默认目录:

    $ cd /tmp/
    
    $ tar -cvzf pello-0.1.2.tar.gz pello-0.1.2
    pello-0.1.2/
    pello-0.1.2/LICENSE
    pello-0.1.2/pello.py
    
    $ mv /tmp/pello-0.1.2.tar.gz ~/rpmbuild/SOURCES/

有关 Python 编写的示例源代码的更多信息,请参阅 使用 Python 编写 Hello World

例 2.6. 将 cello 项目放入 tarball

cello 项目使用 C 实施 Hello World。实施仅包含 cello.cMakefile 文件,因此生成的 tar.gz 存档除了 LICENSE 文件外有两个文件。

请注意,patch 文件并没有在程序的归档中发布。构建 RPM 软件包时,RPM 软件包程序应用补丁。补丁和 .tar.gz 存档一起放置在 ~/rpmbuild/SOURCES/ 目录中。

此步骤演示了如何准备用于分发的 cello 项目。

先决条件

认为这是程序版本 1.0

步骤

  1. 将所有需要的文件放入一个目录中:

    $ mkdir /tmp/cello-1.0
    
    $ mv ~/cello.c /tmp/cello-1.0/
    
    $ mv ~/Makefile /tmp/cello-1.0/
    
    $ cp /tmp/LICENSE /tmp/cello-1.0/
  2. 为分发创建存档并将其移动到 ~/rpmbuild/SOURCES/ 目录,这是 rpmbuild 命令存储构建软件包的默认目录:

    $ cd /tmp/
    
    $ tar -cvzf cello-1.0.tar.gz cello-1.0
    cello-1.0/
    cello-1.0/Makefile
    cello-1.0/cello.c
    cello-1.0/LICENSE
    
    $ mv /tmp/cello-1.0.tar.gz ~/rpmbuild/SOURCES/
  3. 添加补丁:

    $ mv ~/cello-output-first-patch.patch ~/rpmbuild/SOURCES/

有关 C 编写的示例源代码的更多信息,请参阅使用 C 编写 Hello World