Browse Source

new package: postgresql 7.2

master
parent
commit
08b77e211b
  1. 128
      postgresql/postgresql.spec
  2. 51
      postgresql/rc.postgresql

128
postgresql/postgresql.spec

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

51
postgresql/rc.postgresql

@ -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…
Cancel
Save