まずは、オリジナルのソースを展開し、make 出来る様に
しましょう。
ここでは、ソースファイルが harehore-1.23.tar.gz
というファイルに保存されているとします。
<topdir>/SOURCES に harehore-1.23.tar.gz
を持って来ます。
<topdir>/BUILD で、オリジナルソースを展開します。
必要な(ソフト自体に対する)パッチも当てましょう。harehore-1.23'' という
ディレクトリを作成し、そのディレクトリに移って展開して下さい。)
harehore-1.23'' の名前を
``harehore-1.23.orig'' 等
に変更します。
harehore-1.23''
中にソースファイルを展開します。
harehore-1.23'' に移り、うまくmake 出来る
ようになるまで変更を加えます。
make 出来るようになったら、make clean
等の操作によりソース・ディレクトリ内の *.o 等を消去した後、
パッケージ作成の為のパッチを作成し、<topdir>/SOURCES
に置きます。<topdir>/BUILD で
diff -uNr harehore-1.23.orig harehore-1.23 > ../SOURCES/harehore-1.23.patch
として下さい。
RPM は、make して出来たバイナリその他を一度システム上に
インストールし、それらを用いてバイナリパッケージを作ります。
しかし、これでは、システム上に既にインストールされているファイルを
上書きしてしまう可能性があります。
これを避ける為に、あるディレクトリを指定し、それをインストールする
ディレクトリツリーの最上位ディレクトリに見立てて、そのディレクトリ
以下に「仮想的に」インストールし、バイナリパッケージを作成する
事ができます。
最上位ディレクトリの指定は、Imakefile 等を用いている
プログラムの場合は変数 DESTDIR で、また GNU
のソフトの場合は Makefile の中の PREFIX
(prefix) 等で指定する事が出来ます。
しかし、その様な機構が用意されていない場合は、インストールする
ディレクトリツリーの最上位ディレクトリを指定できるように、
Makefile 等を改造しておきましょう。
例えば、以下の様な仮想的な Makefile の一部
----------
BINDIR=/usr/local/bin
LIBDIR=/usr/local/lib/harehore
.......
install :
install -s harehore ${BINDIR}
.......
----------
に対しては、
----------
installprefix=$(ROOT)
BINDIR=$(installprefix)/usr/local/bin
LIBDIR=$(installprefix)/usr/local/lib/harehore
.......
install :
install -s harehore ${BINDIR}
.......
----------
という様に変更を行なって下さい。
この Makefile に施した変更も、patchにして
<topdir>/SOURCES に置いておきましょう。
(これらの変更を施してから前節の最後で述べた
diff
の操作を行なって patch を作るのでも構いません。)