summaryrefslogtreecommitdiff
path: root/ACE/MPC/rpm/buildrpm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/MPC/rpm/buildrpm.sh')
-rwxr-xr-xACE/MPC/rpm/buildrpm.sh96
1 files changed, 96 insertions, 0 deletions
diff --git a/ACE/MPC/rpm/buildrpm.sh b/ACE/MPC/rpm/buildrpm.sh
new file mode 100755
index 00000000000..98b224d88f7
--- /dev/null
+++ b/ACE/MPC/rpm/buildrpm.sh
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# ******************************************************************
+# Author: Chad Elliott
+# Date: 8/13/2009
+# Description: Create an MPC rpm based on the current version number.
+# $Id$
+# ******************************************************************
+
+## First find out where this script is located
+if [ "$0" != "`basename $0`" ]; then
+ if [ "`echo $0 | cut -c1`" = "/" ]; then
+ loc="`dirname $0`"
+ else
+ loc="`pwd`/`dirname $0`"
+ fi
+else
+ ## Do my own 'which' here
+ loc="."
+ for i in `echo $PATH | tr ':' '\012'`; do
+ if [ -x "$i/$0" -a ! -d "$i/$0" ]; then
+ loc="$i"
+ break
+ fi
+ done
+fi
+
+## Now, get back to where the main MPC script is located
+while [ ! -x $loc/mpc.pl ]; do
+ loc=`dirname $loc`
+done
+
+## Build up the packager name and email address
+if [ -z "REPLYTO" ]; then
+ DOMAIN=`hostname | sed 's/[^\.][^\.]*\.//'`
+ if [ -z "$DOMAIN" ]; then
+ DOMAIN=`grep '^search' /etc/resolv.conf | sed 's/.* //'`
+ fi
+ REPLYTO="$LOGNAME@$DOMAIN"
+fi
+PACKAGER=`grep $LOGNAME /etc/passwd | cut -d: -f5`
+if [ -z "$PACKAGER" ]; then
+ PACKAGER=$CL_USERNAME
+fi
+if [ -z "$PACKAGER" ]; then
+ PACKAGER="<$REPLYTO>"
+else
+ PACKAGER="$PACKAGER <$REPLYTO>"
+fi
+
+## Save the MPC version
+VERSION=`$loc/mpc.pl --version | sed 's/.*v//'`
+
+## This is where we'll create the spec file and do the work
+WDIR=/tmp/mpc.$$
+
+## This is the directory name that RPM expects
+MDIR=MPC-$VERSION
+
+## This corresponds to BuildRoot in MPC.spec
+BDIR=/tmp/mpc
+
+## This is the final install directory and corresponds to the %files section
+## of MPC.spec
+FDIR=/usr/lib/MPC
+
+## The directory where RPM will place the resulting file
+if [ -x /usr/src/redhat ]; then
+ RPMLOC=/usr/src/redhat
+else
+ RPMLOC=/usr/src/packages
+fi
+
+## Create our working directory and make the spec file
+mkdir -p $WDIR
+cd $WDIR
+sed "s/VERSION/$VERSION/; s/PACKAGER/$PACKAGER/; s!FINALDIR!$FDIR!" $loc/rpm/MPC.spec > MPC.spec
+
+## Make a copy of the original MPC source to the new directory
+mkdir -p $MDIR/$FDIR
+cd $loc
+tar --exclude=.svn -cf - . | (cd $WDIR/$MDIR/$FDIR; tar -xf -)
+
+## Create the build source tar.bz2
+cd $WDIR
+tar cf $RPMLOC/SOURCES/$MDIR.tar $MDIR
+bzip2 -9f $RPMLOC/SOURCES/$MDIR.tar
+
+## Perform the RPM creation step
+rm -rf $BDIR
+mkdir -p $BDIR
+rpmbuild -bb MPC.spec
+
+## Clean everything up
+cd ..
+rm -rf $WDIR $BDIR