#! /bin/sh # Hook run after adding a package to the database, to regenerate indices. hackage_dir=/srv/www/hackage.haskell.org/public_html/packages bin_dir=$hackage_dir/bin archive=$hackage_dir/archive list_page=$archive/pkg-list.html list_prog=$bin_dir/pkg-list recent_prog=$bin_dir/recent-adds recent_page=$archive/recent.html rss_prog=$bin_dir/rss-feed rss_page=$archive/recent.rss spark_prog=$bin_dir/hackage-sparks umask 0002 cd $archive tmp=tmp.$$ trap 'rm -f $tmp; exit 0' 0 1 2 3 15 # Regenerate the index $archive/00-index.tar.gz ( echo preferred-versions; find . -maxdepth 3 -name '*.cabal' | cut -c3- ) \ | tar -c -T - -f - | gzip -9 >$tmp mv $tmp 00-index.tar.gz # Regenerate index page $list_prog >$tmp 2>/dev/null mv $tmp $list_page # Regenerate sparklines graphs # (temporarily turned off) # $spark_prog # Regenerate recent additions page tac $archive/log | $recent_prog >$tmp 2>/dev/null mv $tmp $recent_page # Regenerate RSS feed tac $archive/log | $rss_prog >$tmp 2>/dev/null mv $tmp $rss_page