#!/bin/bash
# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/96-apt-listbugs
# Purpose:       retreive list of bugreports of installed packages inside chroot
# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports:   see http://grml.org/bugs/
# License:       This file is licensed under the GPL v2 or any later version.
################################################################################

set -u
set -e

if [ -r $target/etc/apt/apt.conf.d/10apt-listbugs ] ; then
  if [ -x $target/usr/sbin/apt-listbugs ] ; then
    sed -i 's#//DPkg::#DPkg::#' $target/etc/apt/apt.conf.d/10apt-listbugs
  fi
fi

set +u
if ifclass RELEASE ; then
set -u
  HOSTNAME=''
  [ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
  [ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
  [ -n "$HOSTNAME" ] || HOSTNAME=grml

  if [ -r /etc/resolv.conf ] ; then
    if [ -d $target/etc/resolvconf/run ] ; then # resolvconf without /run
      # sanity check to avoid "input file is output file",
      # see http://bts.grml.org/grml/issue984
      if ! [ -L $target/etc/resolvconf/run/resolv.conf ] ; then
	cat /etc/resolv.conf >> $target/etc/resolvconf/run/resolv.conf
      else
	echo "Error: /etc/resolvconf/run/resolv.conf in chroot should not be a symlink." >&2
	echo "       Looks like something is wrong, please fix manually." >&2
	exit 1
      fi
    elif [ -L $target/etc/resolvconf/run ] ; then # resolvconf with /run
      # /etc/resolvconf/run symlinks to /run/resolvconf
      mkdir -p $target/run/resolvconf
      cat /etc/resolv.conf >> $target/run/resolvconf/resolv.conf
    else # no resolvconf installed in chroot
      if ! [ -L $target/etc/resolv.conf ] ; then
	cat /etc/resolv.conf >> $target/etc/resolv.conf
      else
	echo "Error: /etc/resolv.conf in chroot should not be a symlink (resolvconf not installed)." >&2
	exit 1
      fi
    fi
  fi

  if [ -x $target/usr/sbin/apt-listbugs -a -x $target/usr/bin/apt-show-source ] && \
     [ -x $target/etc/apt/grml/listbugs ] ; then
     for severity in critical grave serious ; do
         SEVERITY=$severity $ROOTCMD /etc/apt/grml/listbugs > \
         /var/log/fai/$HOSTNAME/last/bugs.${severity} || true # make sure it does not fail
     done
  fi

fi

## END OF FILE #################################################################
# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
