#!/bin/sh

cd /home/djpig/public_html/gcc-transition

produce_deps() {
	apt-cache -c apt.conf showpkg $1 |grep '^  ' | \
		sed -e 's/^  //' -e 's/,.*$//' |sort -u >bin-packages-$2.tmp
	mv bin-packages-$2 bin-packages-$2.old
	comm -23 bin-packages-$2.tmp exceptions >bin-packages-$2
	rm -f src-packages-$2.tmp lib-packages-$2.tmp maint-packages-$2.tmp \
		bin-packages-$2.tmp
	touch lib-packages-$2.tmp
	for i in `cat bin-packages-$2`; do
		source=`apt-cache -c apt.conf show $i | \
				grep Source: |sed 's/.*Source: //'`
		maintainer=`apt-cache -c apt.conf show $i | \
				grep ^Maintainer: |sed 's/^Maintainer: //'`
		lib=`apt-cache -c apt.conf show $i | grep 'Section: libs'`

		source=${source:-$i}
		echo $source \(${maintainer}\) >>src-packages-$2.tmp
		echo $maintainer $source >>maint-packages-$2.tmp
		if [ -n "$lib" ]; then
			echo $source >>lib-packages-$2.tmp
		fi
	done

	if [ -f src-packages-$2.tmp ]; then
		sort -u src-packages-$2.tmp >src-packages-$2
		sort -u maint-packages-$2.tmp >maint-packages-$2
		sort -u lib-packages-$2.tmp >lib-packages-$2
	fi

	rm -f src-packages-$2.tmp lib-packages-$2.tmp maint-packages-$2.tmp
}

apt-get -c apt.conf update
rm -f dpkg-statuslock 

produce_deps libstdc++2.10-glibc2.2 2.95
produce_deps libstdc++5 3.3
produce_deps libstdc++6 4.0

date=$(date '+%d %B %Y')
bin295=$(grep -c . bin-packages-2.95)
src295=$(grep -c . src-packages-2.95)
bin33=$(grep -c . bin-packages-3.3)
src33=$(grep -c . src-packages-3.3)
bin40=$(grep -c . bin-packages-4.0)
src40=$(grep -c . src-packages-4.0)

sed -e "s/&date;/$date/" \
	-e "s/&bin295;/$bin295/" -e "s/&src295;/$src295/" \
	-e "s/&bin33;/$bin33/" -e "s/&src33;/$src33/" \
	-e "s/&bin40;/$bin40/" -e "s/&src40;/$src40/" <index.html.in >index.html

echo $date $bin295 $src295 $bin33 $src33 |tee -a log
tail -n14 log >log.14
gnuplot log.plot
