tazpkg rev 163
Check modifiers during remove
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Oct 15 17:27:44 2008 +0000 (2008-10-15) |
parents | bfbd3b3a28b4 |
children | 47471c0125a2 |
files | tazpkg |
line diff
1.1 --- a/tazpkg Thu Oct 02 15:12:22 2008 +0000 1.2 +++ b/tazpkg Wed Oct 15 17:27:44 2008 +0000 1.3 @@ -1054,6 +1054,7 @@ 1.4 ALTERED="" 1.5 THE_PACKAGE=$PACKAGE # altered by receipt 1.6 for i in $(cd $INSTALLED ; ls); do 1.7 + [ -f $i/receipt ] || continue 1.8 DEPENDS="" 1.9 . $INSTALLED/$i/receipt 1.10 case " $(echo $DEPENDS) " in 1.11 @@ -1070,6 +1071,13 @@ 1.12 echo " $i" 1.13 done 1.14 fi 1.15 + REFRESH=$(cd $INSTALLED ; grep -sl ^$PACKAGE$ */modifiers) 1.16 + if [ -n "$REFRESH" ]; then 1.17 + echo "The following packages have been modified $PACKAGE :" 1.18 + for i in $REFRESH; do 1.19 + echo " $i" 1.20 + done 1.21 + fi 1.22 echo "Remove $PACKAGE ($VERSION$EXTRAVERSION) ?" 1.23 echo -n "Please confirm uninstallation (y/N) : "; read anser 1.24 if [ "$anser" = "y" ]; then 1.25 @@ -1105,6 +1113,20 @@ 1.26 done 1.27 fi 1.28 fi 1.29 + if [ -n "$REFRESH" ]; then 1.30 + echo -n "Reinstall packages modified by $PACKAGE" 1.31 + echo -n " (y/N) ? "; read anser 1.32 + if [ "$anser" = "y" ]; then 1.33 + for i in $REFRESH; do 1.34 + if [ $(wc -l $INSTALLED/$i/modifiers) -gt 1 ]; then 1.35 + echo "Check $INSTALLED/$i/modifiers for reinstallation" 1.36 + continue 1.37 + fi 1.38 + rm -r $INSTALLED/$i/modifiers 1.39 + tazpkg get-install $i --forced 1.40 + done 1.41 + fi 1.42 + fi 1.43 else 1.44 echo "" 1.45 echo "Uninstallation of $PACKAGE cancelled."