system/postgresql: Updated for version 8.3.5

This commit is contained in:
Adis Nezirovic 2010-05-11 22:27:00 +02:00 committed by David Somero
parent 65739ea69c
commit 99e6253644
8 changed files with 109 additions and 119 deletions

View file

@ -3,56 +3,5 @@ system (ORDBMS) based on POSTGRES. With more than 15 years of
development history, it is quickly becoming the de facto
database for enterprise level open source solutions.
Homepage: http://www.postgresql.org
This script builds postgresql with a couple of useful features in the
contrib directory.
adminpack -
File and log manipulation routines, used by pgAdmin
by Dave Page <dpage@vale-housing.co.uk>
tsearch2 -
Full-text-index support using GiST
by Teodor Sigaev <teodor@sigaev.ru> and Oleg Bartunov
<oleg@sai.msu.su>.
Since ver. 8.3 tsearch2 is directly supported by PostgreSQL
This contrib module is now a compatibility layer. Run
# TSEARCH2_COMPAT=no ./postgresql.SlackBuild
if you don't need it.
Before you can run postgresql you'll need to create the
database files in /var/lib/pgsql. The following should do
the trick.
# su postgres -c "initdb -D /var/lib/pgsql/data"
Additionally, a logrotation script is added to /etc/logrotate.d/ and an
rc.postgresql script is added. In order to activate postgresql at boot
time and shut it down properly upon system shutdown, add the following
lines to the following files.
/etc/rc.d/rc.local
==================
# Startup postgresql
if [ -x /etc/rc.d/rc.postgresql ]; then
/etc/rc.d/rc.postgresql start
fi
/etc/rc.d/rc.local_shutdown
===========================
# Stop postgres
if [ -x /etc/rc.d/rc.postgresql ]; then
/etc/rc.d/rc.postgresql stop
fi
Additionally, you'll have to set the rc script to be executable just
like any other Slackware rc script.
# chmod +x /etc/rc.d/rc.postgresql
database, please see README.SBo.

View file

@ -0,0 +1,37 @@
Before you can run postgresql you'll need to create the
database files in /var/lib/pgsql. The following should do
the trick.
# su postgres -c "initdb -D /var/lib/pgsql/data"
Additionally, a logrotation script and init script are included.
For production level log file handling please read
http://www.postgresql.org/docs/8.3/interactive/logfile-maintenance.html
In order to start postgresql at boot and stop it properly at shutdown,
make sure rc.postgresql is executable and add the following lines to
the following files:
/etc/rc.d/rc.local
==================
# Startup postgresql
if [ -x /etc/rc.d/rc.postgresql ]; then
/etc/rc.d/rc.postgresql start
fi
/etc/rc.d/rc.local_shutdown
===========================
# Stop postgres
if [ -x /etc/rc.d/rc.postgresql ]; then
/etc/rc.d/rc.postgresql stop
fi
This script builds postgresql with the 'adminpack', 'tsearch2', and
'pgcrypto' features in the contrib directory.
Please note that in order to actually use extension, you must execute
accompanying SQL scripts located in /usr/share/postgresql/contrib
Since 8.3 tsearch2 functionality is available in PostgreSQL core, and
'tsearch2' extension serves only as a compatibility layer. You can
prevent building of this extension with:
TSEARCH2_COMPAT=no ./postgresql.SlackBuild

View file

@ -2,15 +2,23 @@
config() {
NEW="$1"
OLD="`dirname $NEW`/`basename $NEW .new`"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
# Keep same perms on rc.postgresql.new:
if [ -e etc/rc.d/rc.postgresql ]; then
cp -a etc/rc.d/rc.postgresql etc/rc.d/rc.postgresql.new.incoming
cat etc/rc.d/rc.postgresql.new > etc/rc.d/rc.postgresql.new.incoming
mv etc/rc.d/rc.postgresql.new.incoming etc/rc.d/rc.postgresql.new
fi
config etc/rc.d/rc.postgresql.new
config etc/logrotate.d/postgresql.new

View file

@ -1,17 +1,18 @@
#!/bin/sh
## Slackware build script for PostgreSQL
## $Revision: 1addf65317c9 $
## $Date: 2007/04/25 02:58:20 $
## $Revision: a8b7a8527f9a $
## $Date: 2008/06/11 08:11:50 $
##
## Copyright 2007 Adis Nezirovic <adis _at_ linux.org.ba>
## Copyright 2007-2008 Adis Nezirovic <adis _at_ linux.org.ba>
## Licensed under GNU GPL v2
# Slightly modified by the SlackBuilds Project
# Modified by the SlackBuilds.org Project
PRGNAM=postgresql
VERSION=8.3.0
VERSION=8.3.5
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
CWD=$(pwd)
@ -19,9 +20,6 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# Exit on any and all errors
set -e
# Bail out if user or group isn't valid on your system
# For slackbuilds.org, assigned postgres uid/gid are 209/209
# see http://slackbuilds.org/uid_gid.txt
@ -43,39 +41,39 @@ if [ "$ARCH" = "i486" ]; then
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
SLKCFLAGS="-O2 -fPIC"
fi
# Make sure we start from clean state
set -e # Exit on any and all errors
rm -rf $TMP/$PRGNAM-$VERSION $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
tar xjvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
# Fix permissions here.
chmod -R a-s,u+w,go+r-w $PRGNAM-$VERSION
chown -R root:root $PRGNAM-$VERSION
cd $TMP/$PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R a-s,u+w,go+r-w .
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--with-openssl \
--with-tcl \
--with-perl \
--with-python \
--with-ldap \
--with-xml \
--enable-thread-safety || exit 1
make || exit 1
make DESTDIR=$PKG install-strip || exit 1
--prefix=/usr \
--with-openssl \
--with-tcl \
--with-perl \
--with-python \
--with-ldap \
--with-libxml \
--enable-thread-safety \
--build=$ARCH-slackware-linux
make
make install-strip DESTDIR=$PKG
# adminpack extension for pgAdmin
cd $TMP/$PRGNAM-$VERSION/contrib/adminpack
make || exit 1
make DESTDIR=$PKG install-strip || exit 1
cd contrib/adminpack
make
make install-strip DESTDIR=$PKG
cd $TMP/$PRGNAM-$VERSION
# Since version 8.3 tsearch2 is directly supported by PostgreSQL
# This contrib module is now a compatibility layer.
@ -83,25 +81,26 @@ make DESTDIR=$PKG install-strip || exit 1
# compatibility layer by running:
# TSEARCH2_COMPAT=no ./postgresql.SlackBuild
if [ "$TSEARCH2_COMPAT" != "no" ]; then
cd $TMP/$PRGNAM-$VERSION/contrib/tsearch2
make || exit 1
make DESTDIR=$PKG install-strip || exit 1
cd contrib/tsearch2
make
make install-strip DESTDIR=$PKG
cd $TMP/$PRGNAM-$VERSION
fi
# some business oriented applications use this extension
cd contrib/pgcrypto
make
make install-strip DESTDIR=$PKG
cd $TMP/$PRGNAM-$VERSION
# man pages
gzip -9 $PKG/usr/man/man?/*
# docs
mv $PKG/usr/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYRIGHT \
HISTORY \
README \
doc/* \
$PKG/usr/doc/$PRGNAM-$VERSION/
rm -fr $PKG/usr/doc/$PRGNAM-$VERSION/{man.tar.gz,man1,manl,man7,postgres.tar.gz}
cp -a COPYRIGHT HISTORY README doc/* $PKG/usr/doc/$PRGNAM-$VERSION/
rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/{man.tar.gz,man1,manl,man7,postgres.tar.gz}
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SBo > $PKG/usr/doc/$PRGNAM-$VERSION/README.SBo
chown -R root:root $PKG/usr/doc
# base database directory
# assumes you are using /var/lib/pgsql as a homedir for postgres user
@ -111,24 +110,21 @@ chmod 700 $PKG/var/lib/pgsql
# permissions for DATADIR should be u=rwx (0700)
chmod 700 $PKG/var/lib/pgsql/data
# description file
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Install init script
mkdir -p $PKG/etc/rc.d
cat $CWD/rc.postgresql.new > $PKG/etc/rc.d/rc.postgresql.new
# Install logrotate script
mkdir -p $PKG/etc/logrotate.d
cat $CWD/postgresql.logrotate > $PKG/etc/logrotate.d/postgresql.new
# pkgtool setup procedure
mkdir -p $PKG/var/log/setup
cat $CWD/setup.$PRGNAM > $PKG/var/log/setup/setup.$PRGNAM
chmod 755 $PKG/var/log/setup/setup.$PRGNAM
# rc script
mkdir -p $PKG/etc/rc.d
cat $CWD/rc.postgresql.new > $PKG/etc/rc.d/rc.postgresql.new
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# logrotation
mkdir -p $PKG/etc/logrotate.d
cat $CWD/postgresql.logrotate > $PKG/etc/logrotate.d/postgresql.new
## make the package
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

View file

@ -1,8 +1,8 @@
PRGNAM="postgresql"
VERSION="8.3.0"
VERSION="8.3.5"
HOMEPAGE="http://www.postgresql.org"
DOWNLOAD="ftp://ftp.postgresql.org/pub/source/v8.3.0/postgresql-8.3.0.tar.bz2"
MD5SUM="53d6816eac7442f9bc8103439ebee22e"
DOWNLOAD="ftp://ftp.postgresql.org/pub/source/v8.3.5/postgresql-8.3.5.tar.bz2"
MD5SUM="3bc028774d7a79e926be0c6a9c7ca209"
MAINTAINER="Adis Nezirovic"
EMAIL="adis _at_ linux.org.ba"
APPROVED="BP{k}"
EMAIL="adis_at_linux.org.ba"
APPROVED="dsomero"

View file

@ -1,4 +1,4 @@
/var/log/postgresql.log {
/var/log/postgresql {
postrotate
/etc/rc.d/rc.postgresql reload 2>&1 > /dev/null
endscript

View file

@ -52,7 +52,7 @@ case "$1" in
exit 6
fi
if [ `pgrep -f $POSTGRES` ]; then
if [ $(pgrep -f $POSTGRES) ]; then
echo "PostgreSQL daemon already running"
if [ ! -f $DATADIR/$PIDFILE ]; then
@ -92,7 +92,7 @@ case "$1" in
;;
"status")
if [ `pgrep -f $POSTGRES` ]; then
if [ $(pgrep -f $POSTGRES) ]; then
echo "PostgreSQL is running"
if [ ! -e $DATADIR/$PIDFILE ]; then

View file

@ -1,5 +1,5 @@
|-----handy-ruler-------------------------------------------------|
postgresql: PostgreSQL
postgresql: PostgreSQL (object-relational database management system)
postgresql:
postgresql: PostgreSQL is an advanced object-relational database management
postgresql: system (ORDBMS) based on POSTGRES. With more than 15 years of