mkpkg を 使用しての パッケージ 作成

次に

bind-9.4.1-P1.tar.gz の パッケージを 作る

パッケージを 作って行きます。

展開

ファイルを展開します。

# tar xvzpf bind-9.4.1-P1.tar.gz 2>&1 | tee untar_bind 
# ls -l | sed 1d
drwxrwxr-x    9 10132    wheel        4096 Jul  9 13:25 bind-9.4.1-P1/
-rw-------    1 root     root      6341409 Sep 11 10:40 bind-9.4.1-P1.tar.gz
-rw-r--r--    1 root     root       121726 Sep 11 10:41 untar_bind

./configure

展開で作成されたディレクトリに移動して ”configure”を行います。良く 理解していないので ”configure”の オプションは無しで進めて行きます。

# cd bind-9.4.1-P1/
# ./configure 2>&1 | tee bind_941_P
...
config.status: creating config.h
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING                                                                 WARNING
WARNING         Your OpenSSL crypto library may be vulnerable to        WARNING
WARNING         one or more of the the following known security         WARNING
WARNING         flaws:                                                  WARNING
WARNING                                                                 WARNING
WARNING         CAN-2002-0659, CAN-2006-4339, CVE-2006-2937 and         WARNING
WARNING         CVE-2006-2940.                                          WARNING
WARNING                                                                 WARNING
WARNING         It is recommended that you upgrade to OpenSSL           WARNING
WARNING         version 0.9.8d/0.9.7l (or greater).                     WARNING
WARNING                                                                 WARNING
WARNING         You can disable this warning by specifying:             WARNING
WARNING                                                                 WARNING
WARNING               --disable-openssl-version-check                   WARNING
WARNING                                                                 WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

やり直しましょう。 ”openssl”導入時には新しく 又 やり直しましょう

# cd ../
# rm -r bind-9.4.1-P1/
# tar xvzpf bind-9.4.1-P1.tar.gz 2>&1 | tee untar_bind 
# cd bind-9.4.1-P1/
# ./configure --disable-openssl-version-check | tee bind_941_P-config
# mv bind_941_P-config ../

make

make を 行います。

# make 2>&1 | tee bind_openssl_no_make
...
making all in /usr/local/src/002_bind/bind-9.4.1-P1/doc/xsl
make[2]: Entering directory `/usr/local/src/002_bind/bind-9.4.1-P1/doc/xsl'
make[2]: Leaving directory `/usr/local/src/002_bind/bind-9.4.1-P1/doc/xsl'
make[1]: Leaving directory `/usr/local/src/002_bind/bind-9.4.1-P1/doc'
# mv bind_openssl_no_make ../

makepkg

本題の パッケージを作成しましょう

作業ディレクトリの作成

頭となる作業ディレクトリを作成します。

# mkdir -p work/usr/local

make install

”make install”を 作成したディレクトリを元に 実行します

# make install prefix=`pwd`/work/usr/local 2>&1 | tee bind-without-openssl-install-log
...
make[1]: Leaving directory `/usr/local/src/002_bind/bind-9.4.1-P1/doc'
/bin/sh ./mkinstalldirs /usr/local/src/002_bind/bind-9.4.1-P1/work/usr/local/bin \
/var/run /etc
/bin/install -c isc-config.sh /usr/local/src/002_bind/bind-9.4.1-P1/work/usr/local/bin

補足

この場合”work”ディレクトリ以降に 美味く作成しているか確認しておきま しょう 一部分ですが

# ls work/usr/local/bin/
dig*  host*  isc-config.sh*  nslookup*  nsupdate*
# ls work/usr/local/sbin/
dnssec-keygen*    lwresd*  named-checkconf*  named-compilezone@  rndc-confgen*
dnssec-signzone*  named*   named-checkzone*  rndc*

つまり ”work/usr/local/”以降に 実際にファイルが インストールされて いる事がわかります。

移動

そこで ”work”ディレクトリに移動します

# cd work/

makepkg gnupg1.4.7.tgz

本来の目的のパッケージを作成します。

# makepkg bind-9.4.1-P1-without-oenssl-verch.tgz 2>&1 | tee makepkg_log_bind
パッケージにシンボリックリンクが含まれています。

このパッケージに含まれているシンボリックリンクを "install/doinst.sh" と
いうインストールスクリプト用に変換しますか? 変換する場合、いったんシンボ
リックリンクは削除されますが、パッケージの大元のディレクトリで
    sh install/doinst.sh
とすれば、簡単に復旧できます。

パッケージ化する場合、シンボリックリンクはスクリプトに変換することをお勧
めします。

シンボリックリンクを変換しますか([y]es, [n]o)? 
シンボリックリンクを変換しますか([y]es, [n]o)? y

シンボリックリンクを調べています...

usr/local/man/man8/named-compilezone.8 -> named-checkzone.8
usr/local/sbin/named-compilezone -> named-checkzone

インストール用スクリプトを作成しています...

( cd usr/local/man/man8 ; rm -rf named-compilezone.8 )
( cd usr/local/man/man8 ; ln -sf named-checkzone.8 named-compilezone.8 )
( cd usr/local/sbin ; rm -rf named-compilezone )
( cd usr/local/sbin ; ln -sf named-checkzone named-compilezone )

シンボリックリンクを削除しています:

./usr/local/man/man8/named-compilezone.8
./usr/local/sbin/named-compilezone

bind-9.4.1-P1-without-oenssl-verch.tgz を作成中...
# ls -l | sed 1d
-rw-r--r--    1 root     root     17952120 Sep 11 12:27 bind-9.4.1-P1-without-oenssl-verch.tgz
drwxr-xr-x    2 root     root         4096 Sep 11 12:26 install/
-rw-r--r--    1 root     root         1052 Sep 11 12:27 makepkg_log_bind
drwxr-xr-x    3 root     root         4096 Sep 11 12:07 usr/
# cat install/doinst.sh 
( cd usr/local/man/man8 ; rm -rf named-compilezone.8 )
( cd usr/local/man/man8 ; ln -sf named-checkzone.8 named-compilezone.8 )
( cd usr/local/sbin ; rm -rf named-compilezone )
( cd usr/local/sbin ; ln -sf named-checkzone named-compilezone )

後は ”pkgtool”を 利用して ”bind-9.4.1-P1-without-oenssl-verch.tgz” を インストールすれば gnupg1.4.7 の インストールは 完了となるでしょう。

事後処理

今作成したものを 別の所に 移動させておきます

# cp bind-9.4.1-P1-without-oenssl-verch.tgz /home/mm/tgz_dir/
# mv makepkg_log_bind ../../
# cd ../../../
# ls
002_bind/
# mount /dev/hda10 /mnt/
# mv 002_bind/ bind-9-4-1-P1
# mv bind-9-4-1-P1/ /mnt/
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              9617104   1879772   7240924  21% /
/dev/hda10             8420132    337060   7655344   5% /mnt

にゃんたろう 拝!

2007年 9月11日 (火) 22:21:51 JST 作成


次に

mkpkg を 使用しての パッケージ 作成

Copyright © 2007. nyantarou All Rights Reserved.