#!/bin/sh

# Copyright 2009-2018 Holger Levsen (holger@layer-acht.org)
# Copyright © 2011-2012 Andreas Beckmann (anbe@debian.org)
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <https://www.gnu.org/licenses/>

. /usr/share/piuparts/lib/read_config.sh
. /usr/share/piuparts/lib/write_log.sh

get_config_value MASTER global master-directory
get_config_value SECTIONS global sections
get_config_value HTDOCS global output-directory

#
# find packages which have been reserved for more than one day and unschedule them
#

DAYS=1
LOGS=$(mktemp)
for SECTION in $SECTIONS ; do
	test -d $MASTER/$SECTION/reserved || continue
	find $MASTER/$SECTION/reserved/ -mtime +$DAYS -name "*.log" 2>/dev/null >> $LOGS
done
if [ -s $LOGS ] ; then
	LOG_OUTPUT=$(mktemp)
	echo "Stale reserved packages detected, which have been reserved more then $DAYS days ago!" > $LOG_OUTPUT
	echo "These packages have been unscheduled." >> $LOG_OUTPUT
	echo >> $LOG_OUTPUT
	for package_log in $(cat $LOGS) ; do
		mv -fv $package_log $(dirname $package_log)/../recycle/ >> $LOG_OUTPUT
	done
	publish_logs $LOG_OUTPUT "" $HTDOCS report_stale_reserved_packages
fi
rm $LOGS
