diff --git a/format_spec_file b/format_spec_file index 1554799..365065b 100644 --- a/format_spec_file +++ b/format_spec_file @@ -31,9 +31,18 @@ for i in $MYSPECFILES; do echo "WARNING: no spec file found" exit 0 fi - /usr/lib/obs/service/format_spec_file.files/prepare_spec "$i" > "$MYOUTDIR/$i" || RETURN=1 - # remove all file files which are indendical to committed files - cmp -s "$i" "$MYOUTDIR/$i" && rm "$MYOUTDIR/$i" + if /usr/lib/obs/service/format_spec_file.files/prepare_spec "$i" > "$MYOUTDIR/$i.$$"; then + # remove all file files which are indendical to committed files + # be carefull for the case that $MYOUDIR is local dir + if cmp -s "$i" "$MYOUTDIR/$i.$$"; then + rm "$MYOUTDIR/$i.$$" + else + mv "$MYOUTDIR/$i.$$" "$MYOUTDIR/$i" + fi + else + rm "$MYOUTDIR/$i.$$" + RETURN=1 + fi done exit $RETURN diff --git a/obs-service-format_spec_file.changes b/obs-service-format_spec_file.changes index a47f3cc..50712d8 100644 --- a/obs-service-format_spec_file.changes +++ b/obs-service-format_spec_file.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Feb 4 09:35:13 UTC 2012 - adrian@suse.de + +- handle failing prepare_spec when $OUTDIR=$PWD correct + ------------------------------------------------------------------- Fri Feb 3 09:23:51 UTC 2012 - coolo@suse.com