nyan &plamolinux に戻る|目次に戻る|**|前に戻る|次をみる

makepkg 試行 その1 plamolinux

httpd-2.0.54 に ついて 試みる

では 始めよう

前準備

$ su -
Password: 
# cd /var/data/
# mkdir mkpackage
# cd mkpackage/
# mkdir 003_httpd-2-0-54
# cd 003_httpd-2-0-54/
# mv /home/mm/httpd-2.0.54.tar.gz .
# ls -l | sed 1d
-rw-r--r--    1 mm       users     7508193 Oct 12 13:44 httpd-2.0.54.tar.gz

へてから

展開

# tar xvzpf httpd-2.0.54.tar.gz 2>&1 | tee untar_http
# ls -l | sed 1d
drwxr-xr-x   11 mm       1000         4096 Apr 12  2005 httpd-2.0.54/
-rw-r--r--    1 mm       users     7508193 Oct 12 13:44 httpd-2.0.54.tar.gz
-rw-r--r--    1 root     root       135966 Oct 12 13:50 untar_http
# cd httpd-2.0.54/

configure

configure --help

読んで見る、抜粋

# ./configure --help | less
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
By default, `make install' will install all the files in
`/usr/local/apache2/bin', `/usr/local/apache2/lib' etc.  You can specify
an installation prefix other than `/usr/local/apache2' using `--prefix',
for instance `--prefix=$HOME'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

configure option

# ./configure --enable-so --prefix=/var/data/www/apache2 2>&1 | tee httpd_config
# mv httpd_config ../

make

# make 2>&1 | tee httpd_MAKE_log
# mv httpd_MAKE_log ../

これで いいのか? make install

# mkdir -p pack/var
# make install prefix=`pwd`/pack/var 2>&1 | tee httpd_MAKEinstall_log
# mv httpd_MAKEinstall_log ../
# cd pack/

# ls -l | sed 1d
drwxr-xr-x   15 root     root         4096 Oct 12 14:18 var/

# rm -r pack/
# cd ../
# mv httpd_MAKEinstall_log httpd_MAKEinstall_log_only_var

雰囲気が違った 再度

make install 前準備

# cd httpd-2.0.54/
# mkdir -p pack/var/data/www/apache2
# ls -R pack/
pack/:
var/

pack/var:
data/

pack/var/data:
www/

pack/var/data/www:
apache2/

これで 進めよう
==============================
(# make install prefix=`pwd`/pack/var/data/www/apache2 2>&1 | tee httpd_MAKEinstall_log)
==============================

make install

# make install prefix=`pwd`/pack/var/data/www/apache2 2>&1 | tee httpd_MAKEinstall_log
# ls pack/var/data/www/apache2/
bin/    cgi-bin/  error/   icons/    lib/   man/     modules/
build/  conf/     htdocs/  include/  logs/  manual/

makepkg

# cd pack/
# makepkg httpd-2-0-54.tgz 2>&1 | tee pkg_MAKE_log
パッケージにシンボリックリンクが含まれています。

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

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

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

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

var/data/www/apache2/lib/libapr-0.so.0 -> libapr-0.so.0.9.6
var/data/www/apache2/lib/libapr-0.so -> libapr-0.so.0.9.6
var/data/www/apache2/lib/libaprutil-0.so.0 -> libaprutil-0.so.0.9.6
var/data/www/apache2/lib/libaprutil-0.so -> libaprutil-0.so.0.9.6

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

( cd var/data/www/apache2/lib ; rm -rf libapr-0.so.0 )
( cd var/data/www/apache2/lib ; ln -sf libapr-0.so.0.9.6 libapr-0.so.0 )
( cd var/data/www/apache2/lib ; rm -rf libapr-0.so )
( cd var/data/www/apache2/lib ; ln -sf libapr-0.so.0.9.6 libapr-0.so )
( cd var/data/www/apache2/lib ; rm -rf libaprutil-0.so.0 )
( cd var/data/www/apache2/lib ; ln -sf libaprutil-0.so.0.9.6 libaprutil-0.so.0 )
( cd var/data/www/apache2/lib ; rm -rf libaprutil-0.so )
( cd var/data/www/apache2/lib ; ln -sf libaprutil-0.so.0.9.6 libaprutil-0.so )

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

./var/data/www/apache2/lib/libapr-0.so.0
./var/data/www/apache2/lib/libapr-0.so
./var/data/www/apache2/lib/libaprutil-0.so.0
./var/data/www/apache2/lib/libaprutil-0.so

httpd-2-0-54.tgz を作成中...

これで 完了

# ls -l | sed 1d
-rw-r--r--    1 root     root      5916638 Oct 12 14:33 httpd-2-0-54.tgz
drwxr-xr-x    2 root     root         4096 Oct 12 14:33 install/
-rw-r--r--    1 root     root         1548 Oct 12 14:33 pkg_MAKE_log
drwxr-xr-x    3 root     root         4096 Oct 12 14:27 var/
# mv pkg_MAKE_log ../../
# cd ../
# mv httpd_MAKEinstall_log ../

make clean の 効果を 確認しよう

# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679484   2024932  57% /
/dev/sda8              2822080    421868   2256856  16% /var/data
# make clean
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679484   2024932  57% /
/dev/sda8              2822080    387872   2290852  15% /var/data

make clean は効果があるようだ

# mv pack/httpd-2-0-54.tgz ../
# cd ../
# ls -l | sed 1d
-rw-r--r--   1 root  root   5916638 Oct 12 14:33 httpd-2-0-54.tgz
drwxr-xr-x  12 mm    1000      4096 Oct 12 14:36 httpd-2.0.54/
-rw-r--r--   1 mm    users  7508193 Oct 12 13:44 httpd-2.0.54.tar.gz
-rw-r--r--   1 root  root    185549 Oct 12 14:17 httpd_MAKE_log
-rw-r--r--   1 root  root     31949 Oct 12 14:29 httpd_MAKEinstall_log
-rw-r--r--   1 root  root     31152 Oct 12 14:18 httpd_MAKEinstall_log_only_var
-rw-r--r--   1 root  root     46238 Oct 12 14:01 httpd_config
-rw-r--r--   1 root  root      1548 Oct 12 14:33 pkg_MAKE_log
-rw-r--r--   1 root  root    135966 Oct 12 13:50 untar_http

ここまでで 完了

出来上がりの 内容について

再試行する

========= 再確認 ======================
# mkdir cmfirm 
# cd cmfirm/
# cp ../003_httpd-2-0-54/httpd-2.0.54.tar.gz .
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679484   2024932  57% /
/dev/sda8              2822080    395224   2283500  15% /var/data
# ls -l |sed 1d
-rw-r--r--    1 root     root      7508193 Oct 12 14:43 httpd-2.0.54.tar.gz
            ~~~~~~~~~~~~~~~~~ extract ~~~~~~~~~~~~~
# tar xvzpf httpd-2.0.54.tar.gz 2>&1 | tee untar_http2

# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679484   2024932  57% /
/dev/sda8              2822080    434552   2244172  17% /var/data
             ~~~~~~~~~~~~~~~~~ configure ~~~~~~~~~~~~~
# cd httpd-2.0.54/
# ./configure --enable-so --prefix=/var/data/www/apache2 2>&1 | tee httpd_CONFIG
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679484   2024932  57% /
/dev/sda8              2822080    436464   2242260  17% /var/data
# mv httpd_CONFIG ../

             ~~~~~~~~~~~~~~~~~ make  ~~~~~~~~~~~~~
# make 2>&1 | tee httpd_MAKE2_log
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679472   2024944  57% /
/dev/sda8              2822080    470636   2208088  18% /var/data
# mv httpd_MAKE2_log ../
             ~~~~~~~~~~~~~~~~~ make install ~~~~~~~~~~~~~
# mkdir -p pack/var/data/www/apache2
# make install prefix=`pwd`/pack/var/data/www/apache2 2>&1 | tee httpd_MAKEinstall2_log
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679472   2024944  57% /
/dev/sda8              2822080    496540   2182184  19% /var/data
# mv httpd_MAKEinstall2_log ../
             ~~~~~~  makepkg ~~~~~~~~~ make package ~~~~~~~~~~~~~
# cd pack/
# ls var/data/www/apache2/
bin/    cgi-bin/  error/   icons/    lib/   man/     modules/
build/  conf/     htdocs/  include/  logs/  manual/
# makepkg httpd-2-0-54.tgz 2>&1 | tee pkg_MAKE2_log
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679472   2024944  57% /
/dev/sda8              2822080    502340   2176384  19% /var/data
# mv pkg_MAKE2_log ../../
# mv httpd-2-0-54.tgz ../../
# cd ../../
# ls -l | sed 1d 
-rw-r--r--    1 root     root      5912705 Oct 12 15:02 httpd-2-0-54.tgz
drwxr-xr-x   13 mm       1000         4096 Oct 12 15:00 httpd-2.0.54/
-rw-r--r--    1 root     root      7508193 Oct 12 14:43 httpd-2.0.54.tar.gz
-rw-r--r--    1 root     root        46108 Oct 12 14:49 httpd_CONFIG
-rw-r--r--    1 root     root       167849 Oct 12 14:57 httpd_MAKE2_log
-rw-r--r--    1 root     root        29337 Oct 12 14:59 httpd_MAKEinstall2_log
-rw-r--r--    1 root     root         1548 Oct 12 15:02 pkg_MAKE2_log
-rw-r--r--    1 root     root       135966 Oct 12 14:45 untar_http2
# ls -l ../003_httpd-2-0-54/ | sed 1d 
-rw-r--r--    1 root     root      5916638 Oct 12 14:33 httpd-2-0-54.tgz
drwxr-xr-x   12 mm       1000         4096 Oct 12 14:36 httpd-2.0.54/
-rw-r--r--    1 mm       users     7508193 Oct 12 13:44 httpd-2.0.54.tar.gz
-rw-r--r--    1 root     root       185549 Oct 12 14:17 httpd_MAKE_log
-rw-r--r--    1 root     root        31949 Oct 12 14:29 httpd_MAKEinstall_log
-rw-r--r--    1 root     root        31152 Oct 12 14:18 httpd_MAKEinstall_log_only_var
-rw-r--r--    1 root     root        46238 Oct 12 14:01 httpd_config
-rw-r--r--    1 root     root         1548 Oct 12 14:33 pkg_MAKE_log
-rw-r--r--    1 root     root       135966 Oct 12 13:50 untar_http
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679712   2024704  57% /
/dev/sda8              2822080    502356   2176368  19% /var/data
# make clean
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679712   2024704  57% /
/dev/sda8              2822080    468436   2210288  18% /var/data
=================================================================

比較する

httpd_config の一部分を 比較する

# diff -s httpd_CONFIG ../003_httpd-2-0-54/httpd_config | head 
569c569
<   setting INCLUDES to " -I/var/data/mkpackage/cmfirm/httpd-2.0.54/srclib/apr/include "
---
>   setting INCLUDES to " -I/var/data/mkpackage/003_httpd-2-0-54/httpd-2.0.54/srclib/apr/include"

なんでか?なんでか?なんでか ○○○○○!

もうすこし

# diff -s httpd-2.0.54/pack/var/data/www/apache2/conf/httpd.conf \
../003_httpd-2-0-54/httpd-2.0.54/pack/var/data/www/apache2/conf/httpd.conf
28,29c28,29
< # with ServerRoot set to "/var/data/mkpackage/cmfirm/httpd-2.0.54/pack/var/\
data/www/apache2" will be interpreted by the
< # server as "/var/data/mkpackage/cmfirm/httpd-2.0.54/pack/var/data/www/apache2/logs/foo.log".
---
> # with ServerRoot set to "/var/data/mkpackage/003_httpd-2-0-54/httpd-2.0.54/pack/var/data/www/apache2" will be interpreted by the
> # server as "/var/data/mkpackage/003_httpd-2-0-54/httpd-2.0.54/pack/var/data/www/apache2/logs/foo.log".
50c50
< ServerRoot "/var/data/mkpackage/cmfirm/httpd-2.0.54/pack/var/data/www/apache2"
---
> ServerRoot "/var/data/mkpackage/003_httpd-2-0-54/httpd-2.0.54/pack/var/data/www/apache2"

卯卯卯うーーーんん

# cd ../../
# ls
003_httpd-2-0-54/  cmfirm/
# rm -r cmfirm/
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda5              4960464   2679712   2024704  57% /
/dev/sda8              2822080    387888   2290836  15% /var/data

これで 良いのでしょうか?? こういう ものなのでしょうか??

にゃんたろう 拝!

2005年10月12日 (水) 21:09:28 JST 作成


前に戻る|次をみる


nyan & plamolinux に戻る|目次に戻る

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