spk rev 44
Changed spk-add to ask for removing conflicting packages.
This eliminates the need for volitile.cpio.gz and modifiers
This eliminates the need for volitile.cpio.gz and modifiers
author | Christian Mesh <meshca@clarkson.edu> |
---|---|
date | Tue May 15 22:16:07 2012 -0500 (2012-05-15) |
parents | ddb3c10c0a4b |
children | 9ab44da78a1c |
files | spk-add |
line diff
1.1 --- a/spk-add Tue May 15 21:48:35 2012 -0500 1.2 +++ b/spk-add Tue May 15 22:16:07 2012 -0500 1.3 @@ -140,24 +140,21 @@ 1.4 debug "check modified files" 1.5 for file in $file_list 1.6 do 1.7 - filegrep=$(egrep ^${file}$ $installed/*/files.list) 1.8 + local filegrep=$(egrep ^${file}$ $installed/*/files.list) 1.9 if [ "$filegrep" ]; then 1.10 local list=$(echo $filegrep | cut -d ":" -f 1) 1.11 - local name=$(basename $(dirname $list)) 1.12 - [ "$pkg" == "$name" ] && continue 1.13 - echo -n "Modified package: $name" 1.14 - # Tell $name that $pkg is going to overwrite some of its files 1.15 - if [ -s "$installed/$name/volatile.cpio.gz" ]; then 1.16 - # We can modify backed up files without notice 1.17 - zcat $installed/$name/volatile.cpio.gz | cpio -t --quiet | \ 1.18 - grep -q "^${file#/}$" && continue 1.19 - fi 1.20 - # Add $pkg to the modifiers list og $name 1.21 - if ! egrep -q ^${package_name}$ $installed/$name/modifiers; then 1.22 - debug "Added $pkg to: $name/modifiers" 1.23 - echo "$package_name" >> $installed/$name/modifiers 1.24 - fi 1.25 - status 1.26 + for pkg_file in $list; do 1.27 + local name=$(basename $(dirname $pkg_file)) 1.28 + [ "$pkg" == "$name" ] && continue 2 1.29 + eval_gettext "Conflict package: \$name"; newline 1.30 + # If confirm is set, ask to remove 1.31 + if ! $confirm || gettext "Remove " && confirm; then 1.32 + spk-rm $name 1.33 + else 1.34 + eval_gettext "Warning! /$file will be overwritten!"; newline 1.35 + eval_gettext "If you remove /$package_name, be sure to reinstall $name"; newline 1.36 + fi 1.37 + done 1.38 fi 1.39 done 1.40