3.3. tarball へのソースコードの追加
tarball は、.tar.gz
または .tgz
の接尾辞が付いたアーカイブファイルです。tarball へのソースコードの追加は、後でパッケージ化して配布するソフトウェアをリリースする一般的な方法です。
次のセクションでは、3 つのバージョンの Hello World
プログラム を gzip で圧縮した tarball に追加する方法を説明します。
3.3.1. bello
プログラムを tarball に追加する
bello プロジェクトは、Bash で Hello World
を実装しています。この実装には bello
シェルスクリプトのみが含まれています。したがって、作成される tar.gz
アーカイブには、LICENSE
ファイルのほかにファイルが 1 つだけ含まれます。
前提条件
-
bello
プログラムのバージョン0.1
を使用する。
手順
必要なファイルをすべて 1 つのディレクトリーに追加します。
$ mkdir bello-0.1 $ mv ~/bello bello-0.1/ $ mv LICENSE bello-0.1/
配布用のアーカイブを作成します。
$ tar -cvzf bello-0.1.tar.gz bello-0.1 bello-0.1/ bello-0.1/LICENSE bello-0.1/bello
作成したアーカイブを
~/rpmbuild/SOURCES/
ディレクトリーに移動します。これは、rpmbuild
コマンドがパッケージをビルドするためのファイルを保存するデフォルトのディレクトリーです。$ mv bello-0.1.tar.gz ~/rpmbuild/SOURCES/
3.3.2. pello
プログラムを tarball に追加する
pello プロジェクトは、Python で Hello World
を実装しています。この実装には pello.py
プログラムのみが含まれています。したがって、作成される tar.gz
アーカイブには、LICENSE
ファイルのほかにファイルが 1 つだけ含まれます。
前提条件
-
pello
プログラムのバージョン0.1.1
を使用する。
手順
必要なファイルをすべて 1 つのディレクトリーに追加します。
$ mkdir pello-0.1.1 $ mv pello.py pello-0.1.1/ $ mv LICENSE 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
作成したアーカイブを
~/rpmbuild/SOURCES/
ディレクトリーに移動します。これは、rpmbuild
コマンドがパッケージをビルドするためのファイルを保存するデフォルトのディレクトリーです。$ mv pello-0.1.1.tar.gz ~/rpmbuild/SOURCES/
3.3.3. cello プログラムを tarball に追加する
cello プロジェクトは、C で Hello World
を実装しています。この実装には cello.c
と Makefile
ファイルのみが含まれています。したがって、作成される tar.gz
アーカイブには、LICENSE
ファイルに加えて 2 つのファイルが含まれます。
patch
ファイルは、プログラムとともにアーカイブで配布されません。RPM パッケージマネージャーは、RPM のビルド時にパッチを適用します。パッチは、tar.gz
アーカイブとともに ~/rpmbuild/SOURCES/
ディレクトリーに配置されます。
前提条件
-
cello
プログラムのバージョン1.0
を使用する。
手順
必要なファイルをすべて 1 つのディレクトリーに追加します。
$ mkdir cello-1.0 $ mv cello.c cello-1.0/ $ mv Makefile cello-1.0/ $ mv LICENSE 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
作成したアーカイブを
~/rpmbuild/SOURCES/
ディレクトリーに移動します。これは、rpmbuild
コマンドがパッケージをビルドするためのファイルを保存するデフォルトのディレクトリーです。$ mv /tmp/cello-1.0.tar.gz ~/rpmbuild/SOURCES/
関連情報