tazpkg rev 249
tazpkg upgrade should not overload overloaded files
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Mar 27 17:58:11 2009 +0000 (2009-03-27) |
parents | 4790e7d52f42 |
children | 63f4f0e413e1 |
files | tazpkg |
line diff
1.1 --- a/tazpkg Mon Mar 23 21:58:18 2009 +0000 1.2 +++ b/tazpkg Fri Mar 27 17:58:11 2009 +0000 1.3 @@ -368,10 +368,14 @@ 1.4 if grep -q ^pre_depends $TMP_DIR/receipt; then 1.5 pre_depends $ROOT 1.6 fi 1.7 - rm -rf $TMP_DIR $ROOT$INSTALLED/$PACKAGE 2> /dev/null 1.8 + # keep modifers list on upgrade 1.9 + cp $ROOT$INSTALLED/$PACKAGE/modifiers $TMP_DIR 2> /dev/null 1.10 + rm -rf $ROOT$INSTALLED/$PACKAGE 2> /dev/null 1.11 # Make the installed package data dir to store 1.12 # the receipt and the files list. 1.13 mkdir -p $ROOT$INSTALLED/$PACKAGE 1.14 + cp $TMP_DIR/modifiers $ROOT$INSTALLED/$PACKAGE 2> /dev/null 1.15 + rm -rf $TMP_DIR 2> /dev/null 1.16 sed -i "/ $(basename $PACKAGE_FILE)$/d" \ 1.17 $ROOT$LOCALSTATE/installed.md5 2> /dev/null 1.18 cd $(dirname $PACKAGE_FILE) 1.19 @@ -411,15 +415,23 @@ 1.20 [ -e "$ROOT$i" ] || continue 1.21 [ -d "$ROOT$i" ] && continue 1.22 for j in $(grep -l "^$i$" $ROOT$INSTALLED/*/files.list); do 1.23 + local dir 1.24 + dir=$(dirname $j) 1.25 [ "$j" = "$ROOT$INSTALLED/$PACKAGE/files.list" ] && continue 1.26 - grep -qs ^$PACKAGE$ $(dirname $j)/modifiers && continue 1.27 - if [ -s "$(dirname $j)/volatile.cpio.gz" ]; then 1.28 + if grep -qs ^$(basename $dir)$ \ 1.29 + $ROOT$INSTALLED/$PACKAGE/modifiers; then 1.30 + # Do not overload an overloaded file ! 1.31 + rm .$i 2> /dev/null 1.32 + continue 1.33 + fi 1.34 + grep -qs ^$PACKAGE$ $dir/modifiers && continue 1.35 + if [ -s "$dir/volatile.cpio.gz" ]; then 1.36 # We can modify backed up files 1.37 - zcat $(dirname $j)/volatile.cpio.gz | \ 1.38 + zcat $dir/volatile.cpio.gz | \ 1.39 cpio -t 2> /dev/null | \ 1.40 grep -q "^${i#/}$" && continue 1.41 fi 1.42 - echo "$PACKAGE" >> $(dirname $j)/modifiers 1.43 + echo "$PACKAGE" >> $dir/modifiers 1.44 done 1.45 done 1.46 cp receipt files.list $ROOT$INSTALLED/$PACKAGE