X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=etc%2Fgrml%2Ffai%2Fconfig%2Fscripts%2FGRMLBASE%2F01-packages;h=b13aab569eaec226fde346ab46e22a6d30160e11;hp=9dc2aade29f80cb1257dc0a0d95ead24f35ee50d;hb=7477e438623f7581965a95d82cba282e38fdeb6e;hpb=0f85d1ba6a21ba9426fcf3c867227e48573e4cdf diff --git a/etc/grml/fai/config/scripts/GRMLBASE/01-packages b/etc/grml/fai/config/scripts/GRMLBASE/01-packages index 9dc2aad..b13aab5 100755 --- a/etc/grml/fai/config/scripts/GRMLBASE/01-packages +++ b/etc/grml/fai/config/scripts/GRMLBASE/01-packages @@ -1,5 +1,5 @@ -#!/bin/sh -# Filename: /etc/grml/fai/config/scripts/GRMLBASE/01-packages +#!/bin/bash +# Filename: ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/01-packages # Purpose: check for packages that have been requested but could not be installed # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ @@ -9,20 +9,29 @@ set -u set -e -[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf -[ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local +PACKAGE_LIST=/var/log/install_packages.list - -if ! [ -r "$target/tmp/packages.list" ] ; then - echo "No $target/tmp/packages.list found, will not run package validation check." +if ! [ -r "$target/${PACKAGE_LIST}" ] ; then + echo "No $target/${PACKAGE_LIST} found, will not run package validation check." else printf "Validating package list: " - if $ROOTCMD dpkg --list $(grep -v '^#' $target/tmp/packages.list) >/dev/null 2>$LOGDIR/package_errors.log ; then - printf "done - no errors found\n" + TMPFILE=$(mktemp) + + $ROOTCMD dpkg --list $(grep -v '^#' $target/${PACKAGE_LIST} | grep -v -- '-$') 2>&1 | \ + grep -e '^un' -e 'No packages' > "$TMPFILE" || true + + awk '/^un/ {print $2 " not_installable"}' "$TMPFILE" > "$LOGDIR/package_errors.log" + awk '/^No packages found matching/ {print $5 " not_available"}' "$TMPFILE" | \ + sed 's/\. / /' >> "$LOGDIR/package_errors.log" + + if [ -s "$TMPFILE" ] ; then + printf "failed (there have been errors, find them at $LOGDIR/package_errors.log)\n" else - printf "failed (there have been errors, find them at $LOGDIR/package_errors.txt)\n" + printf "done - no errors found\n" fi + + rm -f "$TMPFILE" fi ## END OF FILE ################################################################# -# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3 +# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2