# HG changeset patch # User Pascal Bellard # Date 1224091664 0 # Node ID 105f46f3f62305bcc053893003ab3b242bfb287c # Parent bfbd3b3a28b4c212075b5a9ac7c7a140b54b385a Check modifiers during remove diff -r bfbd3b3a28b4 -r 105f46f3f623 tazpkg --- a/tazpkg Thu Oct 02 15:12:22 2008 +0000 +++ b/tazpkg Wed Oct 15 17:27:44 2008 +0000 @@ -1054,6 +1054,7 @@ ALTERED="" THE_PACKAGE=$PACKAGE # altered by receipt for i in $(cd $INSTALLED ; ls); do + [ -f $i/receipt ] || continue DEPENDS="" . $INSTALLED/$i/receipt case " $(echo $DEPENDS) " in @@ -1070,6 +1071,13 @@ echo " $i" done fi + REFRESH=$(cd $INSTALLED ; grep -sl ^$PACKAGE$ */modifiers) + if [ -n "$REFRESH" ]; then + echo "The following packages have been modified $PACKAGE :" + for i in $REFRESH; do + echo " $i" + done + fi echo "Remove $PACKAGE ($VERSION$EXTRAVERSION) ?" echo -n "Please confirm uninstallation (y/N) : "; read anser if [ "$anser" = "y" ]; then @@ -1105,6 +1113,20 @@ done fi fi + if [ -n "$REFRESH" ]; then + echo -n "Reinstall packages modified by $PACKAGE" + echo -n " (y/N) ? "; read anser + if [ "$anser" = "y" ]; then + for i in $REFRESH; do + if [ $(wc -l $INSTALLED/$i/modifiers) -gt 1 ]; then + echo "Check $INSTALLED/$i/modifiers for reinstallation" + continue + fi + rm -r $INSTALLED/$i/modifiers + tazpkg get-install $i --forced + done + fi + fi else echo "" echo "Uninstallation of $PACKAGE cancelled."