From cacef28c12499cd2f66ce2ce73a1b10866fd6ab3 Mon Sep 17 00:00:00 2001 From: arvenil Date: Wed, 16 Jun 2010 18:00:35 +0000 Subject: [PATCH] - bugfix: when --try-upgrade (-u) is requested check for new version before geting sources, so only new sources will be downloaded (merged from DEVEL) Changed files: builder.sh -> 1.621 --- builder.sh | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/builder.sh b/builder.sh index 8179727..e689068 100644 --- a/builder.sh +++ b/builder.sh @@ -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 @@ get_spec() { # 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 @@ set_version() { " $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 @@ build_package() { 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 @@ build_package() { 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 @@ case "$COMMAND" in 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 -- 2.44.0