#!/bin/bash
[ -x /usr/bin/glimpse ] || exit 0

set -e
umask 002

PATH=~/debian-lists/glimpse:$PATH

list=$1
listd=$(expr $list : '.*-\([0-9]*\)$')
if [ $(expr length $listd) -gt 2 ] ; then
  m=${listd#??}
  m=$(( (10#$m - 1)/3*3+1 ))
  [ $m -lt 10 ] && m="0$m"
  ln=${list%??}
  list="${ln}${m}"
else
  m=""
  ln=$list
fi

cd /var/lib/lists-archives/glimpse
if [ ! -d $list ] ; then
  mkdir $list
  echo "*" > $list/.glimpse_exclude
  echo "/msg" > $list/.glimpse_include
fi
rm -rf tmp
cp -r $list tmp

if [ "$m" = "" ] ; then
  idx=$list
elif [ "$m" = 10 ] ; then
  idx="$list ${ln}11 ${ln}12"
else
  idx="$list ${ln}0$((10#$m + 1)) ${ln}0$((10#$m + 2))"
fi

cd /var/lib/lists-archives/archives
glimpseindex -f -B -X -H /var/lib/lists-archives/glimpse/tmp -i $idx
cd /var/lib/lists-archives/glimpse

for i in tmp/.glimpse* ; do
  mv -f $i $list
done

chmod -R g+rwX,o+rX /var/lib/lists-archives/glimpse
