次のページ 前のページ 目次へ

4. パッケージ作成の準備 I (パッチ等の作成)

4.1 まずは make 出来るように...

まずは、オリジナルのソースを展開し、make 出来る様に しましょう。

ここでは、ソースファイルが harehore-1.23.tar.gz というファイルに保存されているとします。

  1. <topdir>/SOURCESharehore-1.23.tar.gz を持って来ます。
  2. <topdir>/BUILD で、オリジナルソースを展開します。 必要な(ソフト自体に対する)パッチも当てましょう。
    (新たにディレクトリを作り、そこにファイルを展開する 「のでない」アーカイブの場合は、後々のために ``harehore-1.23'' という ディレクトリを作成し、そのディレクトリに移って展開して下さい。)
  3. ディレクトリ ``harehore-1.23'' の名前を ``harehore-1.23.orig'' 等 に変更します。
  4. 1. の操作を繰り返し、再び ``harehore-1.23'' 中にソースファイルを展開します。
  5. ``harehore-1.23'' に移り、うまくmake 出来る ようになるまで変更を加えます。
  6. うまく make 出来るようになったら、make clean 等の操作によりソース・ディレクトリ内の *.o 等を消去した後、 パッケージ作成の為のパッチを作成し、<topdir>/SOURCES に置きます。
    このために、<topdir>/BUILD
    diff -uNr harehore-1.23.orig harehore-1.23 > ../SOURCES/harehore-1.23.patch
    として下さい。

4.2 「仮想」インストール

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 を作るのでも構いません。)


次のページ 前のページ 目次へ