From 90d75a655dfa815128e5ed628858a0335f101bc0 Mon Sep 17 00:00:00 2001 From: Sun Austin Date: Tue, 4 Sep 2018 15:42:51 +0800 Subject: [PATCH] Fix build-srpms-serial audit all srpms issue -The srpms are deleted wrongly due to audit bug -adding cleanup function call when exiting script Closes-Bug: 1790583 Change-Id: I45016ec6ac1343f0188eecfd71aa4e3dff2c8119 Signed-off-by: Sun Austin --- build-tools/build-srpms-parallel | 10 ++++++++++ build-tools/build-srpms-serial | 20 +++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/build-tools/build-srpms-parallel b/build-tools/build-srpms-parallel index 13fa4804..5114eea8 100755 --- a/build-tools/build-srpms-parallel +++ b/build-tools/build-srpms-parallel @@ -1428,6 +1428,16 @@ UNRESOLVED_TARGETS=$(for i in $(seq 0 $((max_workers-1))); do \rm -rf $MY_WORKSPACE/tmp/SRPM_REBUILT_LIST_* $MY_WORKSPACE/tmp/SRPM_FAILED_REBUILD_LIST_* $MY_WORKSPACE/tmp/UNRESOLVED_TARGETS* 2>> /dev/null +cleanup() { + if [ -n "$MY_WORKSPACE/tmp" -a -d "${MY_WORKSPACE}/tmp" ]; then + echo "clean up $MY_WORKSPACE/tmp" + rm -rf $MY_WORKSPACE/tmp + fi +} + +# cleanup temp files when system exiting +trap cleanup EXIT + # Try to find and clean orphaned and discontinued .src.rpm's if [ $ALL -eq 1 ]; then echo diff --git a/build-tools/build-srpms-serial b/build-tools/build-srpms-serial index 4398115b..f9153d38 100755 --- a/build-tools/build-srpms-serial +++ b/build-tools/build-srpms-serial @@ -1242,11 +1242,23 @@ for GIT_ROOT in $GIT_LIST; do done done + +AUDIT_DIR=$(mktemp -d $MY_WORKSPACE/tmp-$USER-$ME-audit-XXXXXX) + +cleanup() { + if [ -n "$AUDIT_DIR" -a -d "$AUDIT_DIR" ]; then + echo "clean up $AUDIT_DIR" + rm -rf $AUDIT_DIR + fi +} + +# cleanup temp files when system exiting +trap cleanup EXIT + # Try to find and clean orphaned and discontinued .src.rpm's if [ $ALL -eq 1 ]; then echo echo "Auditing for obsolete srpms" - PACKAGES_CONSIDERED="" for GIT_ROOT in $GIT_LIST; do for p in $(cat $GIT_ROOT/$PKG_DIRS_FILE 2>> /dev/null); do src_dir="$GIT_ROOT/$p" @@ -1256,7 +1268,7 @@ if [ $ALL -eq 1 ]; then for f in $(find $src_dir/${DISTRO} -name '*.spec' | sort -V); do NAME=$(spec_find_tag Name "$f" 2>> /dev/null) if [ $? -eq 0 ]; then - PACKAGES_CONSIDERED="$PACKAGES_CONSIDERED $NAME" + touch "$AUDIT_DIR/$NAME" fi done if [ -f $src_dir/$SRPM_LIST_PATH ]; then @@ -1290,7 +1302,7 @@ if [ $ALL -eq 1 ]; then if [ -f $ORIG_SRPM_PATH ]; then NAME=$(rpm -q --queryformat '%{NAME}\n' -p $ORIG_SRPM_PATH 2>> /dev/null) if [ $? -eq 0 ]; then - PACKAGES_CONSIDERED="$PACKAGES_CONSIDERED $NAME" + touch "$AUDIT_DIR/$NAME" fi fi done @@ -1325,6 +1337,8 @@ if [ $ALL -eq 1 ]; then fi fi done + echo "Delete $AUDIT_DIR" + \rm -rf "$AUDIT_DIR" fi echo "Auditing for obsolete srpms done"