SOURCES: license-installer.sh - use temp dir for rpm topdir avoidi...

glen glen at pld-linux.org
Sat Apr 22 20:35:51 CEST 2006


Author: glen                         Date: Sat Apr 22 18:35:51 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- use temp dir for rpm topdir avoiding overwriting any file

---- Files affected:
SOURCES:
   license-installer.sh (1.9 -> 1.10) 

---- Diffs:

================================================================
Index: SOURCES/license-installer.sh
diff -u SOURCES/license-installer.sh:1.9 SOURCES/license-installer.sh:1.10
--- SOURCES/license-installer.sh:1.9	Sat Apr 22 19:04:15 2006
+++ SOURCES/license-installer.sh	Sat Apr 22 20:35:46 2006
@@ -1,25 +1,13 @@
 #!/bin/sh
 if [ "$1" = "--with" -a "$2" = "license_agreement" ]; then
-	TMPDIR=`rpm --eval "%{tmpdir}"`; export TMPDIR
-	SPECDIR=`rpm --eval "%{_specdir}"`; export SPECDIR
-	SRPMDIR=`rpm --eval "%{_srcrpmdir}"`; export SRPMDIR
-	SOURCEDIR=`rpm --eval "%{_sourcedir}"`; export SOURCEDIR
-	BUILDDIR=`rpm --eval "%{_builddir}"`; export BUILDDIR
-	RPMDIR=`rpm --eval "%{_rpmdir}"`; export RPMDIR
-	BACKUP=0
-	mkdir -p $TMPDIR $SPECDIR $SRPMDIR $RPMDIR $SRPMDIR $SOURCEDIR $BUILDDIR
-	if [ -f $SPECDIR/@BASE_NAME at .spec ]; then
-		BACKUP=1
-		mv -f $SPECDIR/@BASE_NAME at .spec $SPECDIR/@BASE_NAME at .spec.prev
-	fi
-	if [ '@COPYSOURCES@' != '@'COPYSOURCES'@' ]; then
-		for i in @COPYSOURCES@; do
-			if [ -f $SOURCEDIR/$i ]; then
-				mv -f $SOURCEDIR/$i $SOURCEDIR/$i.prev
-				BACKUP=1
-			fi
-		done
-	fi
+	tmp=$(mktemp -d)
+	SPECDIR=`rpm --define "_topdir $tmp" --eval "%{_specdir}"`
+	SRPMDIR=`rpm --define "_topdir $tmp" --eval "%{_srcrpmdir}"`
+	SOURCEDIR=`rpm --define "_topdir $tmp" --eval "%{_sourcedir}"`
+	BUILDDIR=`rpm --define "_topdir $tmp" --eval "%{_builddir}"`
+	RPMDIR=`rpm --define "_topdir $tmp" --eval "%{_rpmdir}"`
+	mkdir -p $SPECDIR $SRPMDIR $RPMDIR $SRPMDIR $SOURCEDIR $BUILDDIR
+
 	if echo "$3" | grep '\.src\.rpm$' >/dev/null; then
 		(
 		if echo "$3" | grep '://' >/dev/null; then
@@ -27,7 +15,6 @@
 			wget --passive-ftp -t0 "$3"
 		else
 			cp -f "$3" $SRPMDIR
-			cd $SRPMDIR
 		fi
 		rpm2cpio `basename "$3"` | ( cd $SPECDIR; cpio -i @BASE_NAME at .spec )
 		if [ '@COPYSOURCES@' != '@'COPYSOURCES'@' ]; then
@@ -43,24 +30,12 @@
 		fi
 	fi
 	( cd $SPECDIR
-	/usr/bin/builder -nm -nc -ncs --with license_agreement --target @TARGET_CPU@ @BASE_NAME at .spec
+	/usr/bin/builder --define _topdir $tmp -nm -nc -ncs --with license_agreement --target @TARGET_CPU@ @BASE_NAME at .spec
 	if [ "$?" -ne 0 ]; then
 		exit 2
 	fi
 	RPMNAMES="$RPMDIR/@BASE_NAME at -@VERSION at -@RELEASE at wla.@TARGET_CPU at .rpm"
 	rpm -Uhv $RPMNAMES || echo -e "Install manually the file(s):\n   $RPMNAMES" )
-	if [ "$BACKUP" -eq 1 ]; then
-		if [ -f $SPECDIR/@BASE_NAME at .spec.prev ]; then
-			mv -f $SPECDIR/@BASE_NAME at .spec.prev $SPECDIR/@BASE_NAME at .spec
-		fi
-		if [ '@COPYSOURCES@' != '@'COPYSOURCES'@' ]; then
-			for i in @COPYSOURCES@; do
-				if [ -f $SOURCEDIR/$i ]; then
-					mv -f $SOURCEDIR/$i.prev $SOURCEDIR/$i
-				fi
-			done
-		fi
-	fi
 else
 	if [ "@LICENSE@" != '@'LICENSE'@' ]; then
 		cat @LICENSE@
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/license-installer.sh?r1=1.9&r2=1.10&f=u



More information about the pld-cvs-commit mailing list