2 changed files with 179 additions and 0 deletions
@ -0,0 +1,128 @@
|
||||
## |
||||
## postgresql.spec -- OpenPKG RPM Specification |
||||
## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH |
||||
## Copyright (c) 2000-2002 The OpenPKG Project <http://www.openpkg.org/> |
||||
## Copyright (c) 2000-2002 Ralf S. Engelschall <rse@engelschall.com> |
||||
## |
||||
## Permission to use, copy, modify, and distribute this software for |
||||
## any purpose with or without fee is hereby granted, provided that |
||||
## the above copyright notice and this permission notice appear in all |
||||
## copies. |
||||
## |
||||
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||
## SUCH DAMAGE. |
||||
## |
||||
|
||||
# package information |
||||
Name: postgresql |
||||
Summary: PostgreSQL Database |
||||
URL: http://www.postgresql.org/ |
||||
Vendor: PostgreSQL Group |
||||
Packager: The OpenPKG Project |
||||
Distribution: OpenPKG [EXP] |
||||
Group: Database |
||||
License: GPL |
||||
Version: 7.2 |
||||
Release: 20020205 |
||||
|
||||
# list of sources |
||||
Source0: ftp://ftp.de.postgresql.org/mirror/postgresql/source/v7.2/postgresql-%{version}.tar.gz |
||||
Source1: rc.postgresql |
||||
|
||||
# build information |
||||
Prefix: %{l_prefix} |
||||
BuildRoot: %{l_buildroot} |
||||
BuildPreReq: OpenPKG, openpkg >= 20020204, make, gcc, readline, openssl |
||||
PreReq: OpenPKG, openpkg >= 20020204 |
||||
AutoReq: no |
||||
AutoReqProv: no |
||||
|
||||
%description |
||||
PostgreSQL is a sophisticated Object-Relational DBMS, supporting |
||||
almost all SQL constructs, including subselects, transactions, |
||||
and user-defined types and functions. It is the most advanced |
||||
open-source database available anywhere. |
||||
|
||||
%prep |
||||
%setup -q |
||||
|
||||
%build |
||||
# configure package |
||||
PATH="%{l_prefix}/bin:$PATH"; export PATH |
||||
CC="%{l_cc}" \ |
||||
CFLAGS="%{l_cflags -O}" \ |
||||
./configure \ |
||||
--prefix=%{l_prefix} \ |
||||
--with-openssl=%{l_prefix} \ |
||||
--with-perl \ |
||||
--without-CXX \ |
||||
--disable-syslog |
||||
|
||||
# build package |
||||
%{l_make} %{l_mflags -O} |
||||
|
||||
%install |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
# perform standard installation procedure |
||||
PATH="%{l_prefix}/bin:$PATH"; export PATH |
||||
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT |
||||
|
||||
# strip down installation |
||||
rm -rf $RPM_BUILD_ROOT%{l_prefix}/doc |
||||
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true |
||||
|
||||
# create additional directories |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/postgresql/db \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/var/postgresql/run |
||||
|
||||
# install run-command script |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d |
||||
%{l_shtool} install -c -m 755 \ |
||||
-e 's;@l_prefix@;%{l_prefix};g' \ |
||||
-e 's;@l_rusr@;%{l_rusr};g' \ |
||||
-e 's;@l_rgrp@;%{l_rgrp};g' \ |
||||
%{SOURCE rc.postgresql} \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
||||
|
||||
# determine installation files |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
||||
%{l_files_std} \ |
||||
'%attr(700,%{l_rusr},%{l_rgrp}) %dir %{l_prefix}/var/postgresql/db' \ |
||||
'%attr(755,%{l_rusr},%{l_rgrp}) %dir %{l_prefix}/var/postgresql/run' |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
%post |
||||
# create initial database |
||||
if [ ".$1" = .1 ]; then |
||||
su - %{l_rusr} -c \ |
||||
"LC_CTYPE=C; export LC_CTYPE; umask 022; \ |
||||
$RPM_INSTALL_PREFIX/bin/initdb \ |
||||
-U postgresql -D $RPM_INSTALL_PREFIX/var/postgresql/db" 2>&1 |\ |
||||
$RPM_INSTALL_PREFIX/lib/openpkg/shtool prop \ |
||||
-p "Creating initial PostgreSQL DB in $RPM_INSTALL_PREFIX/var/postgresql/db" |
||||
cp $RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf \ |
||||
$RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf.old |
||||
( sed -e 's;^\([^#]\);# \1;g' <$RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf.old |
||||
echo "# OpenPKG default: trust nobody" |
||||
echo "local all md5" |
||||
) >$RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf |
||||
rm -f $RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf.old |
||||
fi |
||||
|
@ -0,0 +1,51 @@
|
||||
#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc |
||||
## |
||||
## rc.postgresql -- Run-Command for PostgreSQL Database |
||||
## |
||||
|
||||
%common |
||||
postgresql_enable="yes" |
||||
postgresql_flags="" |
||||
postgresql_datadir="@l_prefix@/var/postgresql/db" |
||||
postgresql_socket_inet="localhost" |
||||
postgresql_socket_unix="@l_prefix@/var/postgresql/run/postmaster.socket" |
||||
postgresql_log_file="@l_prefix@/var/postgresql/run/postmaster.log" |
||||
postgresql_log_prolog="true" |
||||
postgresql_log_epilog="true" |
||||
postgresql_log_numfiles="10" |
||||
postgresql_log_minsize="1M" |
||||
postgresql_log_complevel="9" |
||||
|
||||
%common |
||||
postgresql_opts="-i -h $postgresql_socket_inet -k $postgresql_socket_unix" |
||||
postgresql_opts="$postgresql_opts $postgresql_flags" |
||||
|
||||
%start -p 200 -u @l_rusr@ |
||||
opServiceEnabled postgresql || exit 0 |
||||
@l_prefix@/bin/pg_ctl start -l $postgresql_log_file -D $postgresql_datadir -o "$postgresql_opts" |
||||
|
||||
%stop -p 200 -u @l_rusr@ |
||||
opServiceEnabled postgresql || exit 0 |
||||
@l_prefix@/bin/pg_ctl stop -l $postgresql_log_file -D $postgresql_datadir -m smart |
||||
|
||||
%restart -u @l_rusr@ |
||||
opServiceEnabled postgresql || exit 0 |
||||
@l_prefix@/bin/pg_ctl restart -l $postgresql_log_file -D $postgresql_datadir -o "$postgresql_opts" -m smart |
||||
|
||||
%reload -u @l_rusr@ |
||||
opServiceEnabled postgresql || exit 0 |
||||
@l_prefix@/bin/pg_ctl reload -D $postgresql_datadir |
||||
|
||||
%status -u @l_rusr@ |
||||
opServiceEnabled postgresql || exit 0 |
||||
@l_prefix@/bin/pg_ctl status -D $postgresql_datadir |
||||
|
||||
%daily -u @l_rusr@ |
||||
opServiceEnabled postgresql || exit 0 |
||||
shtool rotate -f \ |
||||
-n${postgresql_log_numfiles} -s${postgresql_log_minsize} -d \ |
||||
-z${postgresql_log_complevel} -m644 \ |
||||
-P "$postgresql_log_prolog" \ |
||||
-E "@l_prefix@/bin/pg_ctl reload -D $postgresql_datadir; $postgresql_log_epilog" \ |
||||
$postgresql_log_file |
||||
|
Loading…
Reference in new issue