From 99e62536447ecb3c2c89631437848c42ec0f5b93 Mon Sep 17 00:00:00 2001 From: Adis Nezirovic Date: Tue, 11 May 2010 22:27:00 +0200 Subject: system/postgresql: Updated for version 8.3.5 --- system/postgresql/README | 53 +--------------- system/postgresql/README.SBo | 37 +++++++++++ system/postgresql/doinst.sh | 12 +++- system/postgresql/postgresql.SlackBuild | 108 +++++++++++++++----------------- system/postgresql/postgresql.info | 10 +-- system/postgresql/postgresql.logrotate | 2 +- system/postgresql/rc.postgresql.new | 4 +- system/postgresql/slack-desc | 2 +- 8 files changed, 109 insertions(+), 119 deletions(-) create mode 100644 system/postgresql/README.SBo (limited to 'system/postgresql') diff --git a/system/postgresql/README b/system/postgresql/README index 6a79a84ee8..476b2ac0b5 100644 --- a/system/postgresql/README +++ b/system/postgresql/README @@ -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 - -tsearch2 - - Full-text-index support using GiST - by Teodor Sigaev and Oleg Bartunov - . - 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. \ No newline at end of file diff --git a/system/postgresql/README.SBo b/system/postgresql/README.SBo new file mode 100644 index 0000000000..24bd944c72 --- /dev/null +++ b/system/postgresql/README.SBo @@ -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 diff --git a/system/postgresql/doinst.sh b/system/postgresql/doinst.sh index 4eed17e907..5a067b8cf5 100644 --- a/system/postgresql/doinst.sh +++ b/system/postgresql/doinst.sh @@ -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 + diff --git a/system/postgresql/postgresql.SlackBuild b/system/postgresql/postgresql.SlackBuild index 379541eed0..1db01e2f1b 100644 --- a/system/postgresql/postgresql.SlackBuild +++ b/system/postgresql/postgresql.SlackBuild @@ -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 +## Copyright 2007-2008 Adis Nezirovic ## 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 - -# 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 +# Install init script mkdir -p $PKG/etc/rc.d cat $CWD/rc.postgresql.new > $PKG/etc/rc.d/rc.postgresql.new -# logrotation +# Install logrotate script mkdir -p $PKG/etc/logrotate.d cat $CWD/postgresql.logrotate > $PKG/etc/logrotate.d/postgresql.new -## make the package +mkdir -p $PKG/var/log/setup +cat $CWD/setup.$PRGNAM > $PKG/var/log/setup/setup.$PRGNAM +chmod 755 $PKG/var/log/setup/setup.$PRGNAM + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/system/postgresql/postgresql.info b/system/postgresql/postgresql.info index 9fa51c912f..601745ab23 100644 --- a/system/postgresql/postgresql.info +++ b/system/postgresql/postgresql.info @@ -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" diff --git a/system/postgresql/postgresql.logrotate b/system/postgresql/postgresql.logrotate index c8724992e2..11ce787a9e 100644 --- a/system/postgresql/postgresql.logrotate +++ b/system/postgresql/postgresql.logrotate @@ -1,4 +1,4 @@ -/var/log/postgresql.log { +/var/log/postgresql { postrotate /etc/rc.d/rc.postgresql reload 2>&1 > /dev/null endscript diff --git a/system/postgresql/rc.postgresql.new b/system/postgresql/rc.postgresql.new index 329b7b092d..347fe28019 100644 --- a/system/postgresql/rc.postgresql.new +++ b/system/postgresql/rc.postgresql.new @@ -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 diff --git a/system/postgresql/slack-desc b/system/postgresql/slack-desc index 5a15c63f8b..25ca7d6609 100644 --- a/system/postgresql/slack-desc +++ b/system/postgresql/slack-desc @@ -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 -- cgit v1.2.3-80-g2a13