作業領域に 持ってきましょう
# cp /var/data/www/apache2/htdocs/1001_base/5005_pl403/1005_tgz/aa_data_tgz/gnupg/gnupg-1.4.2.tar.gz . # ls -l | sed -e 1d -rw------- 1 root root 4166891 Feb 27 14:20 gnupg-1.4.2.tar.gz # mkdir gnupg-1_4_2/ # mv gnupg-1.4.2.tar.gz gnupg-1_4_2/ # cd gnupg-1_4_2/ # pwd /var/data/mkpackage/gnupg-1_4_2
# tar xvzpf gnupg-1.4.2.tar.gz 2>&1 | tee untar_gnupg # ls -l | sed -e 1d drwxrwxrwx 16 mm 1000 4096 Jul 27 2005 gnupg-1.4.2/ -rw------- 1 root root 4166891 Feb 27 14:20 gnupg-1.4.2.tar.gz -rw-r--r-- 1 root root 18397 Feb 27 14:24 untar_gnupg # cd gnupg-1.4.2
少し内容を 見てみましょう
-------------------
7) You end up with a "gpg" binary in /usr/local/bin.
8) To avoid swapping out of sensitive data, you can install "gpg" setuid root. If you don't do so, you may want to add the option "no-secmem-warning" to ~/.gnupg/gpg.conf
By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'.
-------------------
ほたら
# ./configure 2>&1 | tee conf-gnupg # mv conf-gnupg ../
そんで もって
# make 2>&1 | tee make-gnupg
さて ここから 無謀にも package を 作成してみましょう 習うより 馴れで す。
前段の make install インストールを しましょう
# mkdir -p work/usr # make install prefix=`pwd`/work/usr 2>&1 | tee install_gnupg # cd work/ # ls usr/bin/ gpg* gpgsplit* gpgv*
へたら package 作成 を 行います
# makepkg gnupg1-4-2.tgz 2>&1 | tee gnupg-tgz_log gnupg1-4-2.tgz を作成中... # makepkg gnupg-1-4-2.tgz gnupg-1-4-2.tgz を作成中... # pwd /var/data/mkpackage/gnupg-1_4_2/gnupg-1.4.2/work # ls -l | sed -e 1d -rw-r--r-- 1 root root 2963719 Feb 27 14:55 gnupg-1-4-2.tgz -rw-r--r-- 1 root root 28 Feb 27 14:54 gnupg-tgz_log drwxr-xr-x 7 root root 4096 Feb 27 14:51 usr/
でけた 様です。後始末
# mv gnupg-tgz_log mk-gnupg-tgz # mv mk-gnupg-tgz ../../ # cp gnupg-1-4-2.tgz ../../ # cd ../ # mv make-gnupg ../ # mv install_gnupg ../
本来は何も指定していない場合は binary in /usr/local/bin であるが 今回作成したものは /usr/bin になるようである 検証してみよう。
# touch /tmp/mark ; sleep 1 # pkgtool Plamo Linux パッケージツール (derived from pkgtool version 9.1.0) Plamo Linux パッケージツールへようこそ どうしましょうか? Current カレントディレクトにあるパッケージをインストール < OK > Package Name: ==>gnupg-1-4-2<== Size: Compressed: 2894 K, uncompressed: 8240 K. Yes gnupg-1-4-2 をインストールする < OK > # # find /etc /sbin /lib /usr /var -cnewer /tmp/mark ! -type d -print >/tmp/gnupg_files # less /tmp/gnupg_files /etc/ld.so.cache /usr/bin/gpgsplit /usr/bin/gpg /usr/bin/gpgv ....
これは これでも 差し支えは 無いが 元々の 香りを 残すために
mkdir -p work/usr を mkdir -p work/usr/local
make install prefix=`pwd`/work/usr を
make install prefix=`pwd`/work/usr/local に 変更して
再構成を 行う。
# pwd /var/data/mkpackage/gnupg-1_4_2 # mv gnupg-1-4-2.tgz gnupg-1-4-2.tgz-usr # rm -r gnupg-1.4.2/
では 再構成を 行う
# tar xvzpf gnupg-1.4.2.tar.gz 2>&1 | tee untar_gnupg_ver-2 # cd gnupg-1.4.2 # pwd /var/data/mkpackage/gnupg-1_4_2/gnupg-1.4.2 # ./configure 2>&1 | tee conf-gnupg_ver2 # mv conf-gnupg_ver2 ../ # make 2>&1 | tee make-gnupg_ver2 # mv make-gnupg_ver2 ../ # mkdir -p work/usr/local # cd work/ # make install prefix=`pwd`/work/usr/local 2>&1 | tee install_gnupg_ver2 make: *** No rule to make target `install'. Stop. /* 早まってはいけない */ # cd ../ # make install prefix=`pwd`/work/usr/local 2>&1 | tee install_gnupg_ver2 # mv install_gnupg_ver2 ../ # cd work/ # makepkg gnupg1-4-2.tgz 2>&1 | tee gnupg-tgz-ver2 gnupg1-4-2.tgz を作成中... # mv gnupg-tgz-ver2 ../../ # ls usr/local/bin/ gpg* gpgsplit* gpgv* # mv gnupg1-4-2.tgz ../../ # cp ../../gnupg1-4-2.tgz . # rm gnupg1-4-2.tgz # rm ../../gnupg1-4-2.tgz # makepkg gnupg-1-4-2.tgz 2>&1 | tee gnupg-tgz-ver3 gnupg-1-4-2.tgz を作成中... # mv gnupg-tgz-ver3 ../../ # cp gnupg-1-4-2.tgz ../../ # cd ../../ # df Filesystem 1k-blocks Used Available Use% Mounted on /dev/sdb5 4959600 1816052 2887552 39% / /dev/sda8 2822080 1124400 1554324 42% /var/data
完成した それが どこに インストールされるかの 確認 まず最初に pkgtool にて インストールしたものを アンインストールしておく
# pkgtool Plamo Linux パッケージツール (derived from pkgtool version 9.1.0) Remove インストールされているパッケージを削除 [X] gnupg # rm /tmp/mark
これから 何処に インストール されるかの 調査を 行う pkgtool にて イン ストールを 行う
# touch /tmp/mark ; sleep 1 # pkgtool /* ::: 詳細省略 */インストールが 終わったので 居所を 探る
# find /etc /sbin /lib /usr /var -cnewer /tmp/mark ! -type d -print >/tmp/files-gnupgver2
上海帰りのリル
# less /tmp/files-gnupgver2 /etc/ld.so.cache /usr/local/bin/gpgsplit /usr/local/bin/gpg /usr/local/bin/gpgv ...
結果の 良否の 判定では無い どちらも 良いのであるが 香りを 残すために そうした取扱いを 行った。後かたずけ
# rm /tmp/files-gnupgver2 # rm /tmp/gnupg_files
今回は 一連の作業のため インストールまで 作成してしまったが 次からは とりあえず package の 作成が出来るものは 作成してみたいと にゃ んたろうは 考えてます。
にゃんたろう 拝!
2006年 3月14日 (火) 21:09:56 JST 作成