HOME / コンピュータTips / Solaris / コンパイル / csw追加系 / mod_auth_pgsql
Date: 2008/08/23 | | Tags: mod_auth_pgsql, csw, solaris, opensolaris, blastwave, package
httpd.confを下記に記載するが、auth_module_basicよりも前に記載すること! LoadModule auth_pgsql_module libexec/mod_auth_pgsql.so
/opt/csw/bin/pkg-get -i apache2 apache2_devel apache2_manual
できあがるpackageはapache2にしか依存しないが、パッケージ作成にdevelが欲しい。
それから、cc(gccではなくSun Studio12等)を入れておくように。
WORK=ワークディレクトリ
mkdir ${WORK}/mod_auth_pgsql/mod_auth_pgsql-2.0.3
Makefileを書き換え
APACHE2_HOME=/usr/local/apache2 PGSQL_LIB=/usr/local/pgsql/lib PGSQL_INCLUDE=/usr/local/pgsql/include
下記のエントリも書き換え・・・TABがあるのでペーストせずに、部分書き換えしてください。/bin/apxsを/sbin/apxsにし、-i(インストール)、-a(アペンド)を除去しただけです。
shared: ${APACHE2_HOME}/sbin/apxs -c -I ${PGSQL_INCLUDE} \ -L ${PGSQL_LIB} -lpq mod_auth_pgsql.c
ビルド
/opt/csw/apache2//sbin/apxs -c -I /usr/include/pgsql/ -L /usr/lib/ -lpq mod_auth_pgsql.c /opt/csw/apache2/share/build/libtool --silent --mode=compile cc -prefer-pic -DSSL_EXPERIMENTAL -DSSL_ENGINE -xO3 -xarch=386 -xspace -xildoff -I/export/home/comand/tmp/build.5.8-i386/httpd-2.2.6/opt/csw/include -I/opt/csw/bdb44/include -I/opt/csw/include -I/export/home/comand/tmp/build.5.8-i386/httpd-2.2.6/opt/csw/include -I/opt/csw/bdb44/include -I/opt/csw/include -DSOLARIS2=8 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -mt -I/opt/csw/apache2/include -I/opt/csw/apache2/include -I/opt/csw/apache2/include -I/opt/csw/bdb44/include -I/opt/csw/include -I/usr/include/pgsql/ -c -o mod_auth_pgsql.lo mod_auth_pgsql.c && touch mod_auth_pgsql.slo "mod_auth_pgsql.c", 841 行目: 警告: 暗黙的な関数宣言: crypt "mod_auth_pgsql.c", 1123 行目: 警告: 構文エラー: 宣言が空です /opt/csw/apache2/share/build/libtool --silent --mode=link cc -o mod_auth_pgsql.la -L/usr/lib/ -lpq -rpath /opt/csw/apache2/libexec -module -avoid-version mod_auth_pgsql.lo
インストール(これはcsw用なので、こんなかたち。違う場合は別に行うこと)
mkdir -p ../install_root/opt/csw/apache2/libexec/ cp .libs/mod_auth_pgsql.so ../install_root/opt/csw/apache2/libexec/ chmod 755 ../install_root/opt/csw/apache2/libexec/mod_auth_pgsql.so chown root:bin ../install_root/opt/csw/apache2/libexec/mod_auth_pgsql.so
cd ../install_root
prototypeを作成
pkgproto . > prototype
出来たprototypeファイルから、prototypeのエントリを削除する。
f none prototype 0644 root root
その上で、下記の1行を追加。
i pkginfo i depend
pkginfoを作成(\の行はつなぐこと)
PKG=JPCcswap2modauthpgsql NAME=ap2_mod_auth_pgsql2 - Apache2.2 Module PostgreSQL Authentication ARCH=i386 VERSION=2.0.3,REV=2006.01.05 CATEGORY=library VENDOR=http://www.giuseppetanzilli.it/mod_auth_pgsql2/ \ packaged for pkglabo, JUSTPLAYER, co.,ltd. by Taki. HOTLINE=http://pkglabo.justplayer.com/ EMAIL=pkgadmin [-at-] justplayer.com BASEDIR=/
dependも作成
P CSWapache2 apache2 - Apache 2.2 web server P CSWapache2c apache2c - Apache 2.2 web server (core)
本当はpostinstallを追加した方が良いかと思ったが、今回は面倒なのでしていない。
こんな自作シェルスクリプトを動かす
make_package.sh 01