use ${RPM} for rpm v4.1
authorGerald Carter <jerry@samba.org>
Mon, 18 Nov 2002 15:47:48 +0000 (15:47 +0000)
committerGerald Carter <jerry@samba.org>
Mon, 18 Nov 2002 15:47:48 +0000 (15:47 +0000)
(This used to be commit 95b26474a237f4073828b2001d21b6111ace3098)

packaging/RedHat/makerpms.sh.tmpl

index 44b89a45ec8eb2dec6334dc69677e8cdac4b4574..5aa9937077649add1e5f72d24c3aaff58d41d60e 100644 (file)
@@ -1,25 +1,59 @@
 #!/bin/sh
-# Copyright (C) John H Terpstra 1998
+# Copyright (C) John H Terpstra 1998-2002
 # Updated for RPM 3 by Jochen Wiedmann, joe@ispsoft.de
 # Changed for a generic tar file rebuild by abartlet@pcug.org.au
+# Changed by John H Terpstra to build on RH7.2 - should also work for earlier versions jht@samba.org
+
+# The following allows environment variables to override the target directories
+#   the alternative is to have a file in your home directory calles .rpmmacros
+#   containing the following:
+#   %_topdir  /home/mylogin/redhat
+#
+# Note: Under this directory rpm expects to find the same directories that are under the
+#   /usr/src/redhat directory
+#
+if [ -x ~/.rpmmacros ]; then
+       TOPDIR=`awk '/topdir/ {print $2}' < ~/.rpmmacros`
+       if [ z$TOPDIR <> "z" ]; then
+               SPECDIR=${TOPDIR}/SPECS
+               SRCDIR=${TOPDIR}/SOURCES
+       fi
+fi
+
+SPECDIR=${SPECDIR:-/usr/src/redhat/SPECS}
+SRCDIR=${SRCDIR:-/usr/src/redhat/SOURCES}
+
+# At this point the SPECDIR and SRCDIR vaiables must have a value!
+
 USERID=`id -u`
 GRPID=`id -g`
 VERSION='PVERSION'
 
-rm -f ../../samba2.*.spec
+RPMVER=`rpm --version | awk '{print $3}'`
+RPM="rpm"
+echo The RPM Version on this machine is: $RPMVER
 
-case `rpm --version | awk '{print $3}'` in
-    2.*)
-       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba2.rpm2.spec
-       cp samba2.rpm2.spec ../../
+case $RPMVER in
+    2*)
+       echo Building for RPM v2.x
+       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
+       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2-devel.spec > samba-devel.spec
+       ;;
+    3*)
+       echo Building for RPM v3.x
+       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
+       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2-devel.spec > samba-devel.spec
        ;;
-    3.*)
-       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba2.rpm3.spec
-       cp samba2.rpm3.spec ../../
+    4.1*)
+       echo Building for RPM v4.1
+       RPM="rpmbuild"
+       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba.spec
+       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2-devel.spec > samba-devel.spec
        ;;
-    4.*)
-       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba2.rpm4.spec
-       cp samba2.rpm4.spec ../../
+    4*)
+       echo Building for RPM v4.x
+       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba.spec
+       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2-devel.spec > samba-devel.spec
        ;;
     *)
        echo "Unknown RPM version: `rpm --version`"
@@ -29,10 +63,28 @@ esac
 
 ( cd ../../source; if [ -f Makefile ]; then make distclean; fi )
 ( cd ../../.. ; chown -R ${USERID}.${GRPID} samba-${VERSION} )
-( cd ../../.. ; tar --exclude=CVS -czvf samba-${VERSION}.tar.gz samba-${VERSION}/samba2.*.spec samba-${VERSION} )
 
-rpm -ta -v ../../../samba-${VERSION}.tar.gz
+# We do this to make sure that the package always has the current version in it''s name
+if [ z$1 = z"devel" ]; then
+       (cd ../../.. ; mv samba samba-${VERSION} )
+fi
+
+( cd ../../.. ; tar --exclude=CVS -cf - samba-${VERSION} | bzip2 > ${SRCDIR}/samba-${VERSION}.tar.bz2 )
 
+cp -av samba.spec ${SPECDIR}
+cp -av samba-devel.spec ${SPECDIR}
 
+if [ z$1 = "zdevel" ]; then
+       echo Restoring source samba directory name
+       ( cd ../../.. ; mv samba-${VERSION} samba )
+       echo Getting Ready to build Developmental Build
+       cd ${SPECDIR}
+       ${RPM} -ba -v samba-devel.spec
+else
+       echo Getting Ready to build release package
+       cd ${SPECDIR}
+       ${RPM} -ba -v --clean --rmsource samba.spec
+fi
 
+echo Done.