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