戻る

gnupg-1.4.2.tar.gz

Out line

system

作業領域に 持ってきましょう

# 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 

configure

少し内容を 見てみましょう

-------------------
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

そんで もって

# make 2>&1 | tee make-gnupg

さて ここから 無謀にも package を 作成してみましょう 習うより 馴れで す。

package 作成 前段 make install

前段の 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 作成 本番

へたら 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 作成


戻る

Copyright © 2004.-2007. nyantarou All Rights Reserved.