summaryrefslogtreecommitdiff
path: root/scripts/freshen.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/freshen.sh')
-rwxr-xr-xscripts/freshen.sh82
1 files changed, 0 insertions, 82 deletions
diff --git a/scripts/freshen.sh b/scripts/freshen.sh
deleted file mode 100755
index 78ce4c3f1..000000000
--- a/scripts/freshen.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/sh
-
-# Traditionally, and to some extent still, rpm --freshen upgraded
-# packages that matched by RPMTAG_NAME, not RPMTAG_PROVIDENAME.
-#
-# This freshen.sh script illustrates how to revert to the "traditional"
-# behavior for doing, say,
-# rpm -Fvh kernel-bigmem*.rpm
-# so that only kernel-bigmem packages are upgraded, rather than
-# upgrading (i.e. erasing) every kernel package that contains
-# Provides: kernel = V-R
-#
-# Copy the freshen.sh script to /usr/lib/rpm, and add the following
-# lines to /etc/popt to enable the behavior:
-# rpm alias -F --freshen
-# rpm exec --freshen /usr/lib/rpm/freshen.sh
-#
-
-dbg= #echo # Do "dbg=echo" for debugging
-#set -x
-#echo "args: $*"
-
-# Invoke rpmi from the same directory as freshen.sh.
-rpmi="`dirname $0`/rpmi"
-rpme="`dirname $0`/rpme"
-rpmq="`dirname $0`/rpmq"
-
-# Parse out any options and add to new arglist.
-# Note: this fails for options with arguments,
-# and doesn't detect multiple -i/-e/-U/-F options either.
-opts=""
-while [ $# -gt 0 ]; do
- case $1 in
- -*) opt="$1"
- opts="$opts $opt" && shift
- [ "$opt" = "--" ] && break
- ;;
- *) opts="$opts --" && break
- ;;
- esac
-done
-#echo "opts: $opts"
-
-# $opts has the options with final '--', $* has the package files
-
-# If no remaining options, just invoke rpm (which will fail).
-[ $# = 0 ] && $dbg exec $rpmi -F $opts
-
-# Split remaining args into erase/install/upgrade invocations
-iargs=
-eargs=
-Fargs=
-for fn in $*; do
- # If not a file, just pass to freshen.
- [ ! -f $fn ] && Fargs="$Fargs $fn" && continue
-
- # For all occurences of identically named packages installed ...
- N="`$rpmq -qp --qf '%{NAME}' $fn`"
- NVR="`$rpmq -qa $N`"
-
- # ... special case kernel packages, ignore packages not installed.
- case $N in
- kernel*)
- # ... if none installed, skip thi kernel package.
- [ "$NVR" = "" ] && continue
-
- # ... else install new package before erasing old package(s).
- iargs="$iargs $fn"
- eargs="$eargs $NVR"
- ;;
- *) Fargs="$Fargs $fn";;
- esac
-
-done
-
-set -e # Exit on any error from here on out.
-
-# Install before erase to insure deps are provided.
-[ "$iargs" != "" ] && $dbg $rpmi -i $opts $iargs
-[ "$eargs" != "" ] && $dbg $rpme -e $opts $eargs
-# Other, non-kernel, files passed to --freshen as always.
-[ "$Fargs" != "" ] && $dbg $rpmi -F $opts $Fargs