# HG changeset patch # User Pascal Bellard # Date 1307370077 -7200 # Node ID 27e5ee5b1aa2f1b4d99f36093c4d2fc334a78481 # Parent 047ed1296a6cb28c54803df237ca393d6222b237 merge: check devices diff -r 047ed1296a6c -r 27e5ee5b1aa2 tazlito --- a/tazlito Sun Jun 05 15:02:51 2011 +0200 +++ b/tazlito Mon Jun 06 16:21:17 2011 +0200 @@ -481,17 +481,21 @@ [ "$(dirname $(dirname $file))" == \ ".$INSTALLED" ] && rm -f $2/$file elif [ -b $1/$file ]; then - [ -b $2/$file ] && rm -f $2/$file + [ -b $2/$file ] && + [ "$(stat -c '%a:%u:%g:%t:%T' $1/$file)" == + "$(stat -c '%a:%u:%g:%t:%T' $2/$file)" ] && + rm -f $2/$file elif [ -c $1/$file ]; then - [ -c $2/$file ] && rm -f $2/$file + [ -c $2/$file ] && + [ "$(stat -c '%a:%u:%g:%t:%T' $1/$file)" == + "$(stat -c '%a:%u:%g:%t:%T' $2/$file)" ] && + rm -f $2/$file fi done # cleanup directories - ( cd $1; find ) | tac | while read file; do - if [ -d $1/$file ]; then - [ -d $2/$file ] && rmdir $2/$file 2> /dev/null - fi + ( cd $1; find -type d ) | sed '1!G;h;$!d' | while read file; do + [ -d $2/$file ] && rmdir $2/$file 2> /dev/null done true status