From f5392ac6a08f8ee45154ab0ce31db7ed6a668920 Mon Sep 17 00:00:00 2001 From: hackbard Date: Fri, 12 Aug 2005 01:09:07 +0000 Subject: [PATCH] some hdw-get improvements --- doc/CHANGELOG | 4 ++++ misc/hdw-tools/hdw-get | 35 ++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/doc/CHANGELOG b/doc/CHANGELOG index a8afd01..2e84e9a 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,5 +1,9 @@ *) 2005-08-11 +- more hdw-get improvements + +*) 2005-08-11 + - improved helper scripts - more package updates (stage 5 done) - fixes to fai routine, improved hdw-get diff --git a/misc/hdw-tools/hdw-get b/misc/hdw-tools/hdw-get index 0ee4ba7..7f2d1e6 100644 --- a/misc/hdw-tools/hdw-get +++ b/misc/hdw-tools/hdw-get @@ -29,6 +29,7 @@ verbose="" ; no_dep="" auto_resolve_deps="" simulate="" base="" +answer="y" FL_DIR="var/adm/flists" DEPS_DIR="var/adm/deps/run" @@ -193,8 +194,9 @@ elif [ "$install" = "1" ] ; then udeps="" tudeps="" for dep in $deps; do - [ ! -f $inst_root/$FL_DIR/$dep-* ] && \ - udeps="$dep $udeps" + [ ! -f $inst_root/$FL_DIR/$dep-[0-9]* ] && \ + [ "$pkg" != "$dep" ] && \ + udeps="$dep $udeps" done while [ "$udeps" != "$tudeps" ] ; do tudeps="$udeps" @@ -208,26 +210,29 @@ elif [ "$install" = "1" ] ; then [ "$i" = "$dep" ] && exists=1 done [ "$exists" = "0" ] && \ - udeps="$udeps $dep" + [ "$dep" != "$pkg" ] && \ + udeps="$udeps $dep" done done done - echo "$pkg depends on the following uninstalled packages:" - echo "$udeps" - echo - echo "continue? [y,n] (default 'n')" - if [ -z $auto_resolve_deps ] ; then - read answer - if [ "$answer" = "y" ] ; then - for i in $udeps; do - [ "$simulate" != "1" ] && \ - $0 -no-dep install $inst_root $i - done + if [ -n "$udeps" ] ; then + echo "$pkg has unresolved dependencies:" + echo "-> $udeps <-" + echo + echo "continue? [y,n] (default 'n')" + if [ -z $auto_resolve_deps ] ; then + read answer + if [ "$answer" = "y" ] ; then + for i in $udeps; do + [ "$simulate" != "1" ] && \ + $0 -no-dep install $inst_root $i + done + fi fi fi fi - if [ "$simulate" != "1" ] ; then + if [ "$simulate" != "1" -a "$answer" != "n" ] ; then # check/install package if [ -f $package ] ; then -- 2.20.1