#!/bin/sh

# Check to see if packages from other than main are installed, because
# I'm only checking against the Packages file from main on security.d.o

. /usr/local/debsec/etc/config

cd $HOSTDIR

echo "$SUMMARY_HEADER" > $SUMMARY

for host in *
do
	#echo $DETAIL_HEADER > ${HTMLDIR}/${host}.html
	detail_header $host  > ${HTMLDIR}/${host}.html
	packages=0
	stale_packages=0
	# Loop over all the installed packages on $host

	for package in `grep-dctrl -F Status -s Package -n "install ok installed" ${host}/status | sort`
	do
		packages=$(($packages + 1))
		installed_v=`grep-dctrl -PX -s Version -n "$package" ${host}/status`
		security_v=`grep-dctrl -PX -s Version -n "$package" $AVAILABLE`
	
		# If there is a security updated version, compare it against the
		# installed version

		if [ -n "$security_v" ]
		then
			if dpkg --compare-versions "$installed_v" lt "$security_v"
			then
				stale_packages=$(($stale_packages + 1))
				#echo "${host}::${package}: ($installed_v) is older than ($security_v)"
				echo "<TR class=notok>" >> ${HTMLDIR}/${host}.html
				echo "<TD class=notok>${package}</TD><TD class=notok>${installed_v}</TD><TD class=notok>${security_v}</TD><TD class=notok>&nbsp;</TD>" >> ${HTMLDIR}/${host}.html
				echo "</TR>" >> ${HTMLDIR}/${host}.html
			else
				#echo "${host}::${package}: ($installed_v) is up to date"
				echo "<TR class=ok>" >> ${HTMLDIR}/${host}.html
				echo "<TD class=ok>${package}</TD><TD class=ok>${installed_v}</TD><TD class=ok>${security_v}</TD><TD class=ok>&nbsp;</TD>" >> ${HTMLDIR}/${host}.html
				echo "</TR>" >> ${HTMLDIR}/${host}.html
			fi
		else
			#echo "${host}::${package}: ($installed_v) has no security updates"
			echo "<TR class=na>" >> ${HTMLDIR}/${host}.html
			echo "<TD class=na>${package}</TD><TD class=na>${installed_v}</TD><TD class=na>n/a</TD><TD class=na>&nbsp;</TD>" >> ${HTMLDIR}/${host}.html
			echo "</TR>" >> ${HTMLDIR}/${host}.html
		fi
	done
	echo $DETAIL_FOOTER >> ${HTMLDIR}/${host}.html
	echo "<TR>" >> $SUMMARY
	echo "<TD><A href=\"${host}.html\">${host}</A></TD><TD>${packages}</TD><TD>${stale_packages}</TD>" >> $SUMMARY
	echo "</TR>" >> $SUMMARY
	echo "$host has ${stale_packages} of ${packages} packages needing updating"
done
echo $SUMMARY_FOOTER >> $SUMMARY
