From a70cf675a5cf19f796ed967ad409d09c799e1d1b Mon Sep 17 00:00:00 2001 From: Sun Austin Date: Thu, 20 Sep 2018 10:16:56 +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: I82fdbabc74330c68fbd6b2635e1e563b5b7656c2 Signed-off-by: Sun Austin --- build-tools/build-srpms-serial | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/build-tools/build-srpms-serial b/build-tools/build-srpms-serial index fbdd33cb..8c833cdc 100755 --- a/build-tools/build-srpms-serial +++ b/build-tools/build-srpms-serial @@ -1231,11 +1231,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" @@ -1245,7 +1257,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 @@ -1279,7 +1291,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 @@ -1314,6 +1326,8 @@ if [ $ALL -eq 1 ]; then fi fi done + echo "Delete $AUDIT_DIR" + \rm -rf "$AUDIT_DIR" fi echo "Auditing for obsolete srpms done"