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