# HG changeset patch # User Pascal Bellard # Date 1228327601 0 # Node ID 39ff491d6b0c2eaf9e96e59d5cc6a10fef382f24 # Parent 0f4a72e4330518c4bb7c9282b7a4633e213a286b tazpkgbox: add upgrade per package diff -r 0f4a72e43305 -r 39ff491d6b0c lib/tazpkgbox/package_infos --- a/lib/tazpkgbox/package_infos Wed Dec 03 16:43:18 2008 +0000 +++ b/lib/tazpkgbox/package_infos Wed Dec 03 18:06:41 2008 +0000 @@ -24,6 +24,7 @@ case "$2" in Web*) firefox $WEB_SITE &;; Siz*) xterm -T "$3 depends (q to quit)" -e "$0 sizes $3 | less";; + Upg*) xterm -T "$3 upgrade" -e "tazpkg get-install $3 --forced ; sleep 2";; Hand*) firefox $HANDBOOK_URL &;; Sug*) $0 list_packages $SUGGESTED;; Dep*) $0 list_packages $DEPENDS;; @@ -177,6 +178,25 @@ BUGS="" . /var/lib/tazpkg/installed/$PKG/receipt MAINTAINER=$(echo "$MAINTAINER" | sed 's/[<>|]/ /g') + upgrade_version="$(cat /var/lib/tazpkg/packages.desc \ + /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | \ + awk "/^$PACKAGE / { print \$3 }" | head -1 )" + UPGRADE="" + if [ -n "$upgrade_version" ]; then + if [ "$upgrade_version" != "$VERSION" ]; then + UPGRADE="$upgrade_version" + else + cur_md5="$(awk "/ $PACKAGE-$VERSION/ { print \$1 }" \ + /var/lib/tazpkg/installed.md5)" + new_md5="$(cat /var/lib/tazpkg/packages.md5 \ + /var/lib/tazpkg/undigest/*/packages.md5 \ + 2> /dev/null | awk "/ $PACKAGE-$VERSION/ { print \$1 }")" + if [ -n "$cur_md5" -a -n "$new_md5" -a \ + "$cur_md5" != "$new_md5" ]; then + UPGRADE="build" + fi + fi + fi PACKAGE_INFOS=" @@ -187,6 +207,8 @@ FIELD Version: | $VERSION Category: | $CATEGORY" +[ -n "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Upgrade: | $(echo $UPGRADE)" [ -n "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS Depends: | $(echo $DEPENDS)" [ -n "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS @@ -245,6 +267,28 @@ INSTALLED_PACKAGE_ACTIONS " fi +if [ -s /var/lib/tazpkg/installed/$PKG/modifiers ]; then + PACKAGE_INFOS="$PACKAGE_INFOS + +" +else + PACKAGE_INFOS="$PACKAGE_INFOS + +" +fi PACKAGE_INFOS="$PACKAGE_INFOS -