3.3. 为分发创建一个源代码存档
归档文件是一个带有 .tar.gz
或 .tgz
后缀的文件。将源代码放入存档是一种发布软件以便以后打包分发的常见方法。
3.3.1. 为 Bash 程序示例创建一个源代码存档
bello 项目是 Bash 中的 Hello World
文件。
以下示例仅包含 bello
shell 脚本。因此,生成的 tar.gz
存档除了 LICENSE
文件外只有一个文件。
patch
文件不在存档中随程序一起分发。构建 RPM 时,RPM 软件包管理器应用补丁。补丁将与 tar.gz
存档一起放在 ~/rpmbuild/SOURCES/
目录中。
先决条件
-
假定使用
bello
程序的0.1
版本。 -
您创建了一个
LICENSE
文件。具体说明,请参阅 创建一个 LICENSE 文件。
流程
将所有需要的文件移到一个目录中:
mkdir bello-0.1 mv ~/bello bello-0.1/ mv LICENSE bello-0.1/
$ mkdir bello-0.1 $ mv ~/bello bello-0.1/ $ mv LICENSE bello-0.1/
Copy to Clipboard Copied! 为分发创建存档:
tar -cvzf bello-0.1.tar.gz bello-0.1
$ tar -cvzf bello-0.1.tar.gz bello-0.1 bello-0.1/ bello-0.1/LICENSE bello-0.1/bello
Copy to Clipboard Copied! 将创建的存档移到
~/rpmbuild/SOURCES/
目录中,这是rpmbuild
命令存储用于构建软件包的文件的默认目录:mv bello-0.1.tar.gz ~/rpmbuild/SOURCES/
$ mv bello-0.1.tar.gz ~/rpmbuild/SOURCES/
Copy to Clipboard Copied!
3.3.2. 为 Python 程序示例创建一个源代码存档
pello 项目是 Python 中的 Hello World
文件。
以下示例仅包含 pello.py
程序。因此,生成的 tar.gz
存档除了 LICENSE
文件外只有一个文件。
patch
文件不在存档中随程序一起分发。构建 RPM 时,RPM 软件包管理器应用补丁。补丁将与 tar.gz
存档一起放在 ~/rpmbuild/SOURCES/
目录中。
先决条件
-
假定使用
pello
程序的0.1.1
版本。 -
您创建了一个
LICENSE
文件。具体说明,请参阅 创建一个 LICENSE 文件。
流程
将所有需要的文件移到一个目录中:
mkdir pello-0.1.1 mv pello.py pello-0.1.1/ mv LICENSE pello-0.1.1/
$ mkdir pello-0.1.1 $ mv pello.py pello-0.1.1/ $ mv LICENSE pello-0.1.1/
Copy to Clipboard Copied! 为分发创建存档:
tar -cvzf pello-0.1.1.tar.gz pello-0.1.1
$ tar -cvzf pello-0.1.1.tar.gz pello-0.1.1 pello-0.1.1/ pello-0.1.1/LICENSE pello-0.1.1/pello.py
Copy to Clipboard Copied! 将创建的存档移到
~/rpmbuild/SOURCES/
目录中,这是rpmbuild
命令存储用于构建软件包的文件的默认目录:mv pello-0.1.1.tar.gz ~/rpmbuild/SOURCES/
$ mv pello-0.1.1.tar.gz ~/rpmbuild/SOURCES/
Copy to Clipboard Copied!
3.3.3. 为 C 程序示例创建一个源代码存档
cello 项目是 C 中的 Hello World
文件。
以下示例仅包含 cello.c
和 Makefile
文件。因此,生成的 tar.gz
存档除了 LICENSE
文件有两个文件。
patch
文件不在存档中随程序一起分发。构建 RPM 时,RPM 软件包管理器应用补丁。补丁将与 tar.gz
存档一起放在 ~/rpmbuild/SOURCES/
目录中。
先决条件
-
假定使用
cello
程序的1.0
版本。 -
您创建了一个
LICENSE
文件。具体说明,请参阅 创建一个 LICENSE 文件。
流程
将所有需要的文件移到一个目录中:
mkdir cello-1.0 mv cello.c cello-1.0/ mv Makefile cello-1.0/ mv LICENSE cello-1.0/
$ mkdir cello-1.0 $ mv cello.c cello-1.0/ $ mv Makefile cello-1.0/ $ mv LICENSE cello-1.0/
Copy to Clipboard Copied! 为分发创建存档:
tar -cvzf cello-1.0.tar.gz cello-1.0
$ 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
Copy to Clipboard Copied! 将创建的存档移到
~/rpmbuild/SOURCES/
目录中,这是rpmbuild
命令存储用于构建软件包的文件的默认目录:mv cello-1.0.tar.gz ~/rpmbuild/SOURCES/
$ mv cello-1.0.tar.gz ~/rpmbuild/SOURCES/
Copy to Clipboard Copied!