diff options
Diffstat (limited to 'extras/Solaris/make-gluster-pkg.sh')
-rwxr-xr-x | extras/Solaris/make-gluster-pkg.sh | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/extras/Solaris/make-gluster-pkg.sh b/extras/Solaris/make-gluster-pkg.sh new file mode 100755 index 000000000..0d52b2dda --- /dev/null +++ b/extras/Solaris/make-gluster-pkg.sh @@ -0,0 +1,107 @@ +#!/usr/bin/bash +# +# Copyright (C) 2010 Gluster Inc. +# +# script to build GlusterFS Packages for Solaris +# + +export PATH=/opt/csw/bin:/opt/csw/gcc4/bin:/usr/ccs/bin:/usr/ucb:/usr/sfw/bin:$PATH + +INSTALL_BASE=/opt/glusterfs + +VERSION=3.0.5 +SBINPROS="glusterfsd glusterfs" +BINPROGS="glusterfs-volgen" +##################################################################### +## BEGIN MAIN +##################################################################### + +TMPINSTALLDIR=/tmp/build + +# Try to guess the distribution base.. +CURR_DIR=`pwd` +echo "Assuming GlusterFS distribution is rooted at $CURR_DIR .." + +## +## first build the source +## + +WGET=`which wget` +$WGET http://ftp.gluster.com/pub/gluster/glusterfs/3.0/$VERSION/glusterfs-$VERSION.tar.gz + +tar xf glusterfs-$VERSION.tar.gz +mv glusterfs-$VERSION source + +if [ "x$1" != "xnobuild" ]; then + + ./configure.sh + + if [ $? -ne 0 ]; then + echo "Build failed! Exiting...." + exit 1 + fi +fi + +cd $CURR_DIR/source +make DESTDIR=$TMPINSTALLDIR install + +cd $CURR_DIR +## +## Now set the install locations +## +SBINDIR=/opt/glusterfs/sbin +BINDIR=/opt/glusterfs/bin +CONFIGDIR=/opt/glusterfs/etc/glusterfs +## +## Main driver +## +## copy over some scripts need for packagaing +## +mkdir -p $TMPINSTALLDIR/etc/init.d + cp -fp glusterfsd $TMPINSTALLDIR/etc/init.d +mkdir -p $TMPINSTALLDIR/etc/rc3.d + cp -fp glusterfsd $TMPINSTALLDIR/etc/rc3.d/S52glusterfsd +mkdir -p $CONFIGDIR + cp -fp options $TMPINSTALLDIR$CONFIGDIR + +## +## Start building the prototype file +## +cp pkginfo.master pkginfo + +echo "SBINDIR=$SBINDIR" >> pkginfo +echo "BINDIR=$BINDIR" >> pkginfo +echo "CONFIGDIR=$CONFIGDIR" >> pkginfo + +## +## copy packaging files +## +for i in pkginfo copyright preremove postinstall request checkinstall; do + cp $i / +done + + +cd / +(echo 'i pkginfo'; echo 'i copyright'; echo 'i preremove'; echo 'i postinstall'; echo 'i request'; pkgproto /$TMPINSTALLDIR=/ ) >prototype + +GREP=`which ggrep` +$GREP -w '/' /prototype -v > /prototype.new + +mv /prototype.new /prototype + +# Create the package +pkgmk -o -d /tmp -f prototype + +if [ $? = 0 ]; then + pkgtrans /tmp glusterfs_${VERSION}_i386.pkg glusterfs +fi + +echo "Cleaning up build files" + +rm -rf $TMPINSTALLDIR + +for i in pkginfo copyright preremove postinstall request checkinstall; do + rm /$i +done + +echo The GlusterFS package is in /tmp |