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