#!/bin/bash
#
# archive-install script
#
# Requires: apt-utils

# Import library

. archive-lib

# file output

pool_install ()
{
  local changes=$1
  local files="$2 $changes"
  local dest_dir=$3

  if [ ! -d "$dest_dir" ]; then
    mkdir -p $dest_dir
  fi

  if err=`mv $files $dest_dir` ; then
    log_install "install_success $changes"
    return 0
  else
    script_error "$err"
    log_install "install_failed $changes"
    return 1
  fi
}

# message output

script_error ()
{
  # FIXME: message should be nicer than that
  log_install "$1" | echo mail -s "Error in `basename $0`" $archive_maint
}

#
# Main
#

cd $accepted_dir

shopt -s nullglob

for archive in *.archive; do
    changes=`basename $archive archive`changes
    package=$(echo `fetch_field "Source" < $archive`)
    section=main
    hash_dir=`echo $package | \
      sed -e 's/^\(lib.\).*$/\1/;/^lib/q;s/^\(.\).*$/\1/'`
    dest_dir=$pool_dir/$section/$hash_dir/$package/
    files=`fetch_files < $archive`

    pool_install "$changes" "$files" "$dest_dir"
    rm $archive

    INSTALLED=yes
done

cd -

if [ "$INSTALLED" = "yes" ]; then
  ./archive-reindex
  ./archive-quinn
fi

