wok-current annotate postgresql/receipt @ rev 2369

fix chroot in post_install
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Mar 06 10:53:07 2009 +0000 (2009-03-06)
parents ac38c3a33f71
children 81ec665f8df4
rev   line source
pascal@1149 1 # SliTaz package receipt.
pascal@1149 2
pascal@1149 3 PACKAGE="postgresql"
pascal@1497 4 VERSION="8.3.4"
pascal@1506 5 CATEGORY="misc"
pascal@1149 6 SHORT_DESC="SQL database system."
pascal@1149 7 MAINTAINER="pascal.bellard@slitaz.org"
pascal@1149 8 TARBALL="$PACKAGE-$VERSION.tar.bz2"
pascal@1149 9 WEB_SITE="http://www.pgsql.com/"
pascal@2210 10 WGET_URL="ftp://ftp.fr.postgresql.org/source/v$VERSION/$TARBALL"
pascal@1977 11 DEPENDS="postgresql-client zlib slitaz-base-files"
pascal@1149 12 BUILD_DEPENDS="zlib-dev readline-dev ncurses-dev"
pascal@2347 13 CONFIG_FILES="/var/lib/pgsql/*.conf"
pascal@2347 14 DATABASE_FILES="/var/lib/pgsql"
pascal@1149 15
pascal@1149 16 # Rules to configure and make the package.
pascal@1149 17 compile_rules()
pascal@1149 18 {
pascal@1149 19 cd $src
pascal@1149 20 [ -d ../postgrpsql-$VERSION ] && cp -a ../postgrpsql-$VERSION/* .
pascal@1497 21 cp ../stuff/*.files-list .
pascal@1149 22 ./configure --prefix=/usr --infodir=/usr/share/info \
pascal@1149 23 --sysconfdir=/etc --includedir=/usr/include/postgresql --with-gnu-ld \
pascal@1149 24 --with-includes=/usr/include/readline --enable-integer-datetimes \
pascal@1149 25 --enable-thread-safety --with-system-tzdata=/usr/share/zoneinfo \
pascal@1497 26 --libdir=/usr/lib/postgresql --mandir=/usr/share/man $CONFIGURE_ARGS &&
pascal@1497 27 make &&
pascal@1149 28 make DESTDIR=$PWD/_pkg install
pascal@1149 29 }
pascal@1149 30
pascal@1149 31 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@1149 32 genpkg_rules()
pascal@1149 33 {
pascal@1149 34 mkdir -p $fs/usr/share $fs/usr/lib $fs/var/lib/pgsql \
pascal@1967 35 $fs/var/log/postgresql $fs/etc/pgsql.d
pascal@1149 36 cp -a $_pkg/usr/bin $fs/usr
pascal@1149 37 cp -a $_pkg/usr/lib/postgresql $fs/usr/lib
pascal@1149 38 rm -f $fs/usr/lib/postgresql/*a
pascal@1149 39 cp -a $_pkg/usr/share/postgresql $fs/usr/share
pascal@1149 40 cp -a stuff/etc $fs
pascal@1149 41 ln -s /var/lib/pgsql/postgresql.conf $fs/etc
pascal@1149 42 chmod 700 $fs/var/lib/pgsql
pascal@1149 43 cat $src/*.files-list | while read file; do
pascal@1149 44 [ -f $fs$file ] && rm -f $fs$file
pascal@1149 45 done
pascal@1149 46 # Package all pgsql pkgs
pascal@1149 47 for i in $(cd $WOK; ls -d postgresql-* libpostgresql* )
pascal@1149 48 do
pascal@1149 49 tazwok genpkg $i
pascal@1149 50 done
pascal@1149 51 }
pascal@1149 52
pascal@1149 53 # Pre and post install commands for Tazpkg.
pascal@1149 54 post_install()
pascal@1149 55 {
pascal@1149 56 # adduser postgres if needed
pascal@1149 57 if ! grep -q postgres $1/etc/passwd; then
pascal@1149 58 echo -n "Adding user postgres..."
pascal@1149 59 chroot $1/ adduser postgres -D -H -h /var/lib/pgsql
pascal@1425 60 # ensure not to overload tux user
pascal@1425 61 sed -i 's/^postgres:x:1000:1000:/postgres:x:1001:1001:/' $1/etc/passwd
pascal@1425 62 sed -i 's/^postgres:x:1000:/postgres:x:1001:/' $1/etc/group
pascal@1149 63 status
pascal@1149 64 fi
pascal@1149 65 # addgroup postgres if needed
pascal@1149 66 if ! grep -q postgres $1/etc/group; then
pascal@1149 67 echo -n "Adding group postgres..."
pascal@2369 68 chroot $1/ sh -c 'addgroup postgres && addgroup postgres postgres'
pascal@1149 69 status
pascal@1149 70 fi
pascal@1149 71 chroot $1/ chown -R postgres.postgres /var/lib/pgsql /var/log/postgresql
pascal@1149 72 cat <<EOF
pascal@1149 73 ----
pascal@1152 74 postgres has superuser access.
pascal@1152 75 Configure /var/lib/pgsql/*.conf files.
pascal@1149 76 To start $PACKAGE server you can run :
pascal@1149 77
pascal@1149 78 /etc/init.d/$PACKAGE start
pascal@1149 79
pascal@1149 80 Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf
pascal@1149 81 ----
pascal@1149 82 EOF
pascal@1149 83 }
pascal@1149 84
pascal@1149 85 post_remove()
pascal@1149 86 {
pascal@1149 87 deluser postgres
pascal@1149 88 delgroup postgres
pascal@1149 89 }