#!/bin/sh -e
[ -d /var/lib/lists-archives/archives ] || exit 0
umask 002

DATE=$(date +%y%m)

# Incorporate mailman archives, if any
if [ -d /var/lib/mailman/archives/public ]
then
    for file in /var/lib/mailman/archives/public/*
    do
	base=$(basename $file)
	rm -f /var/lib/lists-archives/lists/$base-*
	[ -f $file ] && ln -f $file /var/lib/lists-archives/lists/$base-$DATE
	[ -d $file ] && ln -sf $file /var/lib/lists-archives/lists/$base-$DATE
    done
fi

# Touch files for updatemail (ugly hack, but oh well)
cd /var/lib/lists-archives/archives
for dir in $(find * -type d -maxdepth 0)
do
    [ -f ../lists/$dir ] || touch ../lists/$dir
done

# Not sure yet why this is needed.  :-)
symlinks -dr /var/lib/lists-archives > /dev/null 2>&1

# Fix stray ownerships and permissions (searchlists.log must be www-data).
chown -R daemon.list /var/lib/lists-archives/archives
chown -R daemon.list /var/lib/lists-archives/glimpse
chown -R daemon.list /var/lib/lists-archives/lists
chown -R daemon.list /var/lib/lists-archives/log
chmod -R ug+rwX,o+rX /var/lib/lists-archives/archives
chmod -R ug+rwX,o+rX /var/lib/lists-archives/glimpse
chmod -R ug+rwX,o+rX /var/lib/lists-archives/lists
chmod -R ug+rwX,o+rX /var/lib/lists-archives/log


# Update web archives.
su daemon -c "/usr/lib/lists-archives/updatemail"

# Update master index file.
su daemon -c "/usr/lib/lists-archives/updatemail -x"

# Create links in website (list -> list-NOW)
cd /var/lib/lists-archives/archives
for dir in $(find * -type d -maxdepth 0)
do
    base=$(echo $dir | perl -pe "s/-\d+$//;")
    ln -sf $dir $base
done

symlinks -dr /var/lib/lists-archives > /dev/null 2>&1
