[c5c522c] | 1 | #!/bin/bash |
---|
| 2 | #DEP:libtermcap |
---|
| 3 | #DEP:readline |
---|
| 4 | #DEP:apache_ant |
---|
| 5 | #DEP:zlib |
---|
| 6 | |
---|
| 7 | PKGSOURCE=`ls postgresql*|grep -v DatuX` |
---|
| 8 | if [ -z '$PKGSOURCE' ] ; then |
---|
| 9 | echo "First download postgresql source package to this `pwd` directory" |
---|
| 10 | exit 1 |
---|
| 11 | fi |
---|
| 12 | #butt VERSION=`echo $PKGSOURCE|cut -f2 -d -|sed s/.tar.gz//|sed s/.tar.bz2//` |
---|
| 13 | VERSION=9.1.21 |
---|
| 14 | NAME=postgresql |
---|
| 15 | NAMELIB=libpq |
---|
| 16 | CWD=`pwd` |
---|
| 17 | PACKAGE=`echo $PKGSOURCE|cut -f1 -d"-"` |
---|
| 18 | ROOT=`pwd` |
---|
| 19 | EXT=`ls |grep postgresql|grep tar.gz` |
---|
| 20 | if [ -z $EXT ] ; then |
---|
| 21 | EXT=tar.bz2 |
---|
| 22 | TARCMD="tar -xjf" |
---|
| 23 | PGM=`ls postgresql-*.$EXT | sed s/.tar.bz2//` |
---|
| 24 | else |
---|
| 25 | EXT=tar.gz |
---|
| 26 | TARCMD="tar -xzf" |
---|
| 27 | PGM=`ls postgresql-*.$EXT | sed s/.tar.gz//` |
---|
| 28 | fi |
---|
| 29 | #Der uut gebopt door Ronnie :-) |
---|
| 30 | #SLEXT=-i386-"$VERSIE"DatuX.tgz |
---|
| 31 | export MAKEFLAGS="-j5" |
---|
| 32 | if [ -d $ROOT/pkgtmp ] ; then |
---|
| 33 | rm -rf "$ROOT/pkgtmp" |
---|
| 34 | fi |
---|
| 35 | mkdir $ROOT/pkgtmp |
---|
| 36 | cd $ROOT/pkgtmp |
---|
| 37 | PKGROOT=`pwd`; |
---|
| 38 | cd $ROOT |
---|
| 39 | if [ -d $PGM ] ; then |
---|
| 40 | rm -rf $PGM |
---|
| 41 | fi |
---|
| 42 | echo $SLEXT |
---|
| 43 | |
---|
| 44 | # user adden |
---|
| 45 | useradd -u 100 postgresql |
---|
| 46 | |
---|
| 47 | |
---|
| 48 | |
---|
| 49 | $TARCMD $PGM.$EXT ||exit 1 |
---|
| 50 | if [ $? == 1 ] ; then |
---|
| 51 | echo "#" |
---|
| 52 | echo "######################### Untarring file failed #################################" |
---|
| 53 | echo "#" |
---|
| 54 | exit 1 |
---|
| 55 | fi |
---|
| 56 | mkdir -p $PKGROOT/etc/rc.d $PKGROOT/install $PKGROOT/var/run/postgresql $PKGROOT/usr/doc/$PGM $PKGROOT/etc/postinst.d |
---|
| 57 | ########################################## maken van de install scripts ####################################### |
---|
| 58 | cat << EOF >$PKGROOT/install/slack-desc |
---|
| 59 | # HOW TO EDIT THIS FILE: |
---|
| 60 | # The "handy ruler" below makes it easier to edit a package description. Line |
---|
| 61 | # up the first '|' above the ':' following the base package name, and the '|' |
---|
| 62 | # on the right side marks the last column you can put a character in. You must |
---|
| 63 | # make exactly 11 lines for the formatting to be correct. It's also |
---|
| 64 | # customary to leave one space after the ':'. |
---|
| 65 | |-----handy-ruler------------------------------------------------------| |
---|
| 66 | postgresql: PostgreSQL is an advanced object-relational database |
---|
| 67 | postgresql: management system that supports an extended subset of |
---|
| 68 | postgresql: the SQL standard, including transactions, foreign keys, |
---|
| 69 | postgresql: subqueries, triggers, user-defined types and functions. |
---|
| 70 | postgresql: This distribution also contains several language bindings, |
---|
| 71 | postgresql: including C, Perl, Python, and Tcl, as well as a JDBC driver. |
---|
| 72 | postgresql: |
---|
| 73 | postgresql: |
---|
| 74 | postgresql: |
---|
| 75 | postgresql: |
---|
| 76 | postgresql: Package Created By: (c) 2006 DatuX |
---|
| 77 | EOF |
---|
| 78 | |
---|
| 79 | |
---|
| 80 | mkdir -p $PKGROOT/service/postgresql/log/main |
---|
| 81 | chown postgresql $PKGROOT/service/postgresql/log/main |
---|
| 82 | cat <<EOF >$PKGROOT/service/postgresql/run |
---|
| 83 | #!/bin/bash |
---|
| 84 | rm /home/system/postgresql/data/postmaster.pid |
---|
| 85 | exec 2>&1 |
---|
| 86 | exec pgrphack setuidgid postgresql /usr/bin/postmaster -i -D /home/system/postgresql/data -h 127.0.0.1 |
---|
| 87 | EOF |
---|
| 88 | |
---|
| 89 | |
---|
| 90 | cat <<EOF >$PKGROOT/service/postgresql/log/run |
---|
| 91 | #!/bin/bash |
---|
| 92 | exec setuidgid postgresql multilog t ./main |
---|
| 93 | EOF |
---|
| 94 | |
---|
| 95 | |
---|
| 96 | chmod +x $PKGROOT/service/postgresql/run |
---|
| 97 | |
---|
| 98 | chmod +x $PKGROOT/service/postgresql/log/run |
---|
| 99 | |
---|
| 100 | cp $CWD/{start,stop} $PKGROOT/service/postgresql |
---|
| 101 | chmod +x $PKGROOT/service/postgresql/{start,stop} || exit 1 |
---|
| 102 | |
---|
| 103 | |
---|
| 104 | cat <<EOF >$PKGROOT/install/doinst.sh |
---|
| 105 | ( sbin/postinst.sh ) |
---|
| 106 | EOF |
---|
| 107 | |
---|
| 108 | chmod +x $PKGROOT/etc/postinst.d/post.postgresql |
---|
| 109 | |
---|
| 110 | cd $ROOT/$PGM && |
---|
| 111 | if [ $? == 1 ] ; then |
---|
| 112 | echo "#" |
---|
| 113 | echo "######################### Changing to source directory $PGM failed #################################" |
---|
| 114 | echo "#" |
---|
| 115 | exit 1 |
---|
| 116 | fi |
---|
| 117 | export PATH=/usr/lib/ant/bin/:${PATH} |
---|
| 118 | ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib --with-java || exit 1 |
---|
| 119 | if [ $? == 1 ] ; then |
---|
| 120 | echo "#" |
---|
| 121 | echo "######################### ./configure failed please try it manualy #################################" |
---|
| 122 | echo "#" |
---|
| 123 | exit 1 |
---|
| 124 | fi |
---|
| 125 | make |
---|
| 126 | make install DESTDIR=$PKGROOT/ |
---|
| 127 | if [ $? == 1 ] ; then |
---|
| 128 | echo "#" |
---|
| 129 | echo "######################### Installing to temporary directory failed #################################" |
---|
| 130 | echo "#" |
---|
| 131 | exit 1 |
---|
| 132 | fi |
---|
| 133 | |
---|
| 134 | cd contrib |
---|
| 135 | make || exit 1 |
---|
| 136 | make install DESTDIR=$PKGROOT/ || exit 1 |
---|
| 137 | cd .. |
---|
| 138 | |
---|
| 139 | |
---|
| 140 | |
---|
| 141 | cd $PKGROOT && |
---|
| 142 | cp $ROOT/post.postgresql $PKGROOT/etc/postinst.d/ |
---|
| 143 | |
---|
| 144 | |
---|
| 145 | |
---|
| 146 | |
---|
| 147 | cd $PKGROOT |
---|
| 148 | #makepkg -l n -c n "postgresql-7.4.6-i386-1DatuX.tgz" |
---|
| 149 | makepkg -l y -c n $CWD/$NAME.pkg > /dev/null && |
---|
| 150 | echo $VERSION > $CWD/$NAME.version && |
---|
| 151 | arch > $CWD/$NAME.arch || exit 1 |
---|
| 152 | |
---|
| 153 | #libpq ook appart voor kleine installs |
---|
| 154 | cd $CWD |
---|
| 155 | mv $PKGROOT $PKGROOT.old |
---|
| 156 | mkdir -p $PKGROOT/usr/lib |
---|
| 157 | cp -a $PKGROOT.old/usr/lib/libpq* $PKGROOT/usr/lib/ || exit 1 |
---|
| 158 | cd $PKGROOT |
---|
| 159 | makepkg -l y -c n $CWD/$NAMELIB.pkg > /dev/null && |
---|
| 160 | echo $VERSION > $CWD/$NAMELIB.version && |
---|
| 161 | arch > $CWD/$NAMELIB.arch || exit 1 |
---|
| 162 | |
---|
| 163 | |
---|
| 164 | if [ $? == 1 ] ; then |
---|
| 165 | echo "#" |
---|
| 166 | echo "######################### creation of slackware package failed try it manualy #################################" |
---|
| 167 | echo "#" |
---|
| 168 | exit 1 |
---|
| 169 | fi |
---|
| 170 | cd $ROOT |
---|
| 171 | |
---|
| 172 | #mv $PKGROOT/postgresql-7.4.6-i386-1DatuX.tgz $ROOT/ |
---|
| 173 | #rm -r "$ROOT/pkgtmp" |
---|
| 174 | #rm -r "$ROOT/$PACKAGE-$VERSION" |
---|
| 175 | |
---|
| 176 | ########################################################################################################### |
---|
| 177 | |
---|