Author: arvenil                      Date: Wed Jun 16 18:00:41 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- bugfix: when --try-upgrade (-u) is requested check for new version
  before geting sources, so only new sources will be downloaded
  (merged from DEVEL)

---- Files affected:
packages:
   builder (1.620 -> 1.621) 

---- Diffs:

================================================================
Index: packages/builder
diff -u packages/builder:1.620 packages/builder:1.621
--- packages/builder:1.620      Sun Jun  6 08:46:28 2010
+++ packages/builder    Wed Jun 16 20:00:35 2010
@@ -19,7 +19,6 @@
 #      100 - Unknown error (should not happen)
 
 # Notes (todo/bugs):
-# - builder -u fetches current version first (well that's okay, how you 
compare versions if you have no old spec?)
 # - when Icon: field is present, -5 and -a5 doesn't work
 # - builder -R skips installing BR if spec is not present before builder 
invocation (need to run builder twice)
 # - does not respect NoSource: X, and tries to cvs up such files [ example: 
VirtualBox-bin.spec and its Source0 ]
@@ -739,7 +738,7 @@
 
                        # create symlinks for tools
                        if [ "$SYMLINK_TOOLS" != "no" ]; then
-                               for a in dropin md5 adapter builder 
{relup,compile,repackage,rsync,pearize}.sh; do
+                               for a in dropin md5 adapter builder 
{relup,compile,repackage,rsync,pearize}.sh pldnotify.awk; do
                                        [ -f $a ] || continue
                                        ln -s ../$a $ASSUMED_NAME
                                        cvsignore_df $a
@@ -1413,19 +1412,13 @@
        " $specfile
 }
 
-build_package() {
-       update_shell_title "build_package"
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       cd "$PACKAGE_DIR"
-
+try_upgrade() {
        if [ -n "$TRY_UPGRADE" ]; then
                local TNOTIFY TNEWVER TOLDVER
                update_shell_title "build_package: try_upgrade"
 
+               cd "$PACKAGE_DIR"
+               
                if [ -n "$FLOAT_VERSION" ]; then
                        TNOTIFY=$($APPDIR/pldnotify.awk 
${BE_VERBOSE:+-vDEBUG=1} $SPECFILE -n) || exit 1
                else
@@ -1441,13 +1434,22 @@
                                cp -f $SPECFILE $SPECFILE.bak
                        fi
                        chmod +w $SPECFILE
-                       set_release $SPECFILE $PACKAGE_RELEASE 0.1
+                       set_release $SPECFILE $PACKAGE_RELEASE 1
                        set_version $SPECFILE $PACKAGE_VERSION $TNEWVER
                        parse_spec
-                       NODIST="yes" get_files $SOURCES $PATCHES
-                       update_md5 $SOURCES
+                       return 1
                fi
        fi
+       return 0
+}
+
+build_package() {
+       update_shell_title "build_package"
+       if [ -n "$DEBUG" ]; then
+               set -x
+               set -v
+       fi
+
        cd "$PACKAGE_DIR"
 
        case "$COMMAND" in
@@ -1497,10 +1499,12 @@
        fi
        if [ "$RETVAL" -ne "0" ]; then
                if [ -n "$TRY_UPGRADE" ]; then
-                       echo "\n!!! Package with new version cannot be built 
automagically\n"
+                       echo "\nUpgrade package to new version failed."
                        if [ "$REVERT_BROKEN_UPGRADE" = "yes" ]; then
+                               echo "Restoring old spec file."
                                mv -f $SPECFILE.bak $SPECFILE
                        fi
+                       echo ""
                fi
                Exit_error err_build_fail
        fi
@@ -2439,8 +2443,17 @@
                        if [ -n "$NOSOURCE0" ] ; then
                                SOURCES=`echo $SOURCES | xargs | sed -e 's/[^ 
]*//'`
                        fi
-                       get_files $SOURCES $PATCHES
-                       check_md5 $SOURCES
+                       try_upgrade
+                       case $? in
+                               0)
+                                       get_files $SOURCES $PATCHES
+                                       check_md5 $SOURCES
+                                       ;;
+                               *)
+                                       NODIST="yes" get_files $SOURCES $PATCHES
+                                       update_md5 $SOURCES
+                                       ;;
+                       esac
                        build_package
                        if [ "$UPDATE_POLDEK_INDEXES" = "yes" -a "$COMMAND" != 
"build-prep" ]; then
                                run_poldek --sdir="${POLDEK_INDEX_DIR}" --mkidxz
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/builder?r1=1.620&r2=1.621&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to