[Piuparts-commits] [SCM] piuparts git repository branch, piatti, updated. 0.46-27-g960eea7

Andreas Beckmann debian at abeckmann.de
Fri Sep 21 08:17:19 UTC 2012


The following commit has been merged in the piatti branch:
commit 3f7ef610632fba31c91cfc288ef7c6a39e4f275d
Author: Andreas Beckmann <debian at abeckmann.de>
Date:   Sat Sep 15 12:26:08 2012 +0200

    reschedule_oldest_logs: refactor
    
    Signed-off-by: Andreas Beckmann <debian at abeckmann.de>

diff --git a/debian/changelog b/debian/changelog
index fb58319..a492406 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,7 +15,7 @@ piuparts (0.47) UNRELEASED; urgency=low
     tests that may be fixed in a later version.
   * Remove post_purge_dbconfig_cleanup custom script.
   * reschedule_oldest_logs: Refactored.
-    - Fix duplicate variable name usage that soemetimes prevented recycling.
+    - Fix duplicate variable name usage that sometimes prevented recycling.
     - Support a [global] auto-reschedule=no setting.
 
  -- Andreas Beckmann <debian at abeckmann.de>  Sat, 15 Sep 2012 06:25:05 +0200
diff --git a/master-bin/reschedule_oldest_logs b/master-bin/reschedule_oldest_logs
index 13c9fc9..06fd99d 100755
--- a/master-bin/reschedule_oldest_logs
+++ b/master-bin/reschedule_oldest_logs
@@ -50,11 +50,23 @@ get_config_value FAIL_COUNT global reschedule-fail-count 25
 
 get_config_value AUTO_RESCHEDULE	global auto-reschedule yes
 
+
+list_logs()
+{
+	__AGE="$1"
+	__COUNT="$2"
+	shift 2
+	find "$@" -name "*.log" -mtime +$__AGE \
+		| xargs --no-run-if-empty -n99999 -s999999 ls -dt \
+		| tail -n $__COUNT
+}
+
+
 TOTAL=0
 UNSCHEDULE=0
-LOGS=`mktemp`
-LOGS2=`mktemp`
+LOGS=$(mktemp)
 OBSOLETE=$(mktemp)
+UNSORTED=$(mktemp)
 OLDPWD=$(pwd)
 for SECTION in $SECTIONS ; do
 	test -d $MASTER/$SECTION || continue
@@ -78,11 +90,12 @@ for SECTION in $SECTIONS ; do
 		get_config_value _FAIL_AGE   $SECTION reschedule-fail-days $FAIL_AGE
 		get_config_value _FAIL_COUNT $SECTION reschedule-fail-count $FAIL_COUNT
 		# FIXME: we ignore bugged here - ptyhon-bts is really the way to go
-		find pass fail affected -name "*.log" -mtime +$_AGE | xargs --no-run-if-empty -n99999 -s999999 ls -dt | tail -n $_COUNT > $LOGS
-		find fail affected -name "*.log" -mtime +$_FAIL_AGE | xargs --no-run-if-empty -n99999 -s999999 ls -dt | tail -n $_FAIL_COUNT >> $LOGS
-		sort -u $LOGS > $LOGS2
-		for log in $(cat $LOGS2) ; do
-			test -f recycle/$(basename "$log") || echo "$log"
+		>$UNSORTED
+		list_logs $_AGE      $_COUNT      pass fail affected >> $UNSORTED
+		list_logs $_FAIL_AGE $_FAIL_COUNT      fail affected >> $UNSORTED
+		for log in $(sort -u $UNSORTED) ; do
+			# skip if already scheduled
+			test -f "recycle/${log#*/}" || echo "$log"
 		done > $LOGS
 	fi
 
@@ -105,7 +118,9 @@ for SECTION in $SECTIONS ; do
 	fi
 	cd $OLDPWD
 done
-rm $LOGS $LOGS2 $OBSOLETE
+rm $LOGS
+rm $OBSOLETE
+rm $UNSORTED
 
 if [ "$TOTAL" -gt "0" ]; then
 	echo "Rescheduled $TOTAL logs."

-- 
piuparts git repository



More information about the Piuparts-commits mailing list