2.11. Putting source code into tarball
This section describes how to put each of the three Hello World
programs introduced in section "What is source code" into a gzip-compressed tarball, which is a common way to release the software to be later packaged for distribution.
Exemple 2.4. Putting the bello project into tarball
The bello project implements Hello World
in bash. The implementation only contains the bello
shell script, so the resulting tar.gz
archive will have only one file apart from the LICENSE
file.
This procedure shows how to prepare the bello project for distribution.
Conditions préalables
Considering that this is version 0.1
of the program.
Procédure
Put all required files into a single directory:
$ mkdir /tmp/bello-0.1 $ mv ~/bello /tmp/bello-0.1/ $ cp /tmp/LICENSE /tmp/bello-0.1/
Create the archive for distribution and move it to the
~/rpmbuild/SOURCES/
directory, which is the default directory where therpmbuild
command stores the files for building packages:$ 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/
For more information about the example source code written in bash, see Hello World written in bash.
Exemple 2.5. Putting the pello project into tarball
The pello project implements Hello World
in Python. The implementation only contains the pello.py
program, so the resulting tar.gz
archive will have only one file apart from the LICENSE
file.
This procedure shows how to prepare the pello project for distribution.
Conditions préalables
Considering that this is version 0.1.1
of the program.
Procédure
Put all required files into a single directory:
$ mkdir /tmp/pello-0.1.2 $ mv ~/pello.py /tmp/pello-0.1.2/ $ cp /tmp/LICENSE /tmp/pello-0.1.2/
Create the archive for distribution and move it to the
~/rpmbuild/SOURCES/
directory, which is the default directory where therpmbuild
command stores the files for building packages:$ 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/
For more information about the example source code written in Python, see Hello World written in Python.
Exemple 2.6. Putting the cello project into tarball
The cello project implements Hello World
in C. The implementation only contains the cello.c
and the Makefile
files, so the resulting tar.gz
archive will have two files apart from the LICENSE
file.
Note that the patch
file is not distributed in the archive with the program. The RPM Packager applies the patch when the RPM is built. The patch will be placed into the ~/rpmbuild/SOURCES/
directory alongside the .tar.gz
archive.
This procedure shows how to prepare the cello project for distribution.
Conditions préalables
Considering that this is version 1.0
of the program.
Procédure
Put all required files into a single directory:
$ 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/
Create the archive for distribution and move it to the
~/rpmbuild/SOURCES/
directory, which is the default directory where therpmbuild
command stores the files for building packages:$ 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/
Add the patch:
$ mv ~/cello-output-first-patch.patch ~/rpmbuild/SOURCES/
For more information about the example source code written in C, see Hello World written in C.