まずは、オリジナルのソースを展開し、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
を作るのでも構いません。)