-#!/bin/sh
-# Filename: /etc/grml/fai/config/scripts/GRMLBASE/96-apt-listbugs
+#!/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.
-# Latest change: Sun Oct 14 00:14:02 CEST 2007 [mika]
################################################################################
+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
-HOSTNAME=''
-[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf
-[ -n "$HOSTNAME" ] || HOSTNAME=grml
+ 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
-if [ -x $target/usr/sbin/apt-listbugs -a -x $target/usr/bin/apt-show-source ] && \
- [ -x $target/etc/apt/listbugs ] ; then
- for severity in critical grave serious ; do
- SEVERITY=$severity $ROOTCMD /etc/apt/listbugs > \
- /var/log/fai/dirinstall/$HOSTNAME/bugs.${severity}
- done
fi
## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2