#!/bin/bash
#
# $Id: archive-sanity 32 2004-08-12 04:57:33Z guillem $
#
# Copyright (C) 2003, 2004 Guillem Jover <guillem@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
#

. archive-lib

if [ "$1" = "--fix" ]; then
FIX=yes
else
FIX=no
fi

# Main

echo "-> Doing sanity check over the archive"

if [ $FIX = yes ]; then
  echo " -> Regenerating missing .archive files"
  for changes in `find $pool_dir $accepted_dir -name '*.changes'`; do
    archive=${changes%changes}archive
    changes_strip < $changes > $archive
  done
fi

cd $pool_dir

cd -

cd $cache_dir

echo " -> Finding duped packages"
for p in Packages.*; do
  echo "  -> Packages duped on ${p#Packages.}"
  grep '^Package: ' $p | sort | uniq -d
done

echo " -> Finding empty packages fields"
for p in Packages.*; do
  echo "  -> Packages with empty field on ${p#Packages.}"
  if grep '^Depends: $' $p >& /dev/null; then
    echo "Empty field(s) found."
  fi
done

cd -

