-#!/bin/sh
-# Filename: /etc/grml/fai/config/scripts/GRMLBASE/95-package-information
+#!/bin/bash
+# Filename: ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/95-package-information
# Purpose: store package information of chroot system
# 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.
################################################################################
-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
-PACKAGE_LOG=/var/log/fai/"$HOSTNAME"/last/
+set -u
+set -e
-# generate the package list and store it on the ISO itself for grml-docs:
-[ -d $target/usr/share/doc/grml-docs/packages ] || mkdir $target/usr/share/doc/grml-docs/packages
-COLUMNS=200 $ROOTCMD dpkg --list > $target/usr/share/doc/grml-docs/packages/dpkg_list
-
-if ! [ -w "$PACKAGE_LOG" ] ; then
- echo "Error: can not write to ${PACKAGE_LOG}. Exiting.">&2
+if ! [ -w "$LOGDIR" ] ; then
+ echo "Error: can not write to ${LOGDIR}. Exiting.">&2
exit 1
else
# store package list for the build process logs as well:
- COLUMNS=200 $ROOTCMD dpkg --list > "${PACKAGE_LOG}"/dpkg.list
- COLUMNS=200 $ROOTCMD dpkg --get-selections > "${PACKAGE_LOG}"/dpkg.selections
+ COLUMNS=200 $ROOTCMD dpkg --list > "${LOGDIR}"/dpkg.list
+ COLUMNS=200 $ROOTCMD dpkg --get-selections > "${LOGDIR}"/dpkg.selections
# store list of packages sorted by size:
if [ -x $target/usr/bin/dpkg-query ] ; then
- $ROOTCMD dpkg-query -W --showformat='${Package}\t${Installed-Size;10}\n' > \
- "${PACKAGE_LOG}"/packages.size
+ $ROOTCMD dpkg-query -W --showformat='${Package}\t${Installed-Size}\n' > \
+ "${LOGDIR}"/packages.size
+ fi
+ # store a list of non-free packages and their licenses
+ if $ROOTCMD test -x /usr/bin/aptitude ; then
+ echo "The following packages from the Debian non-free section are included in this release" \
+ > "${LOGDIR}"/nonfree-licenses.txt
+ echo >> "${LOGDIR}"/nonfree-licenses.txt
+ for pkg in `$ROOTCMD aptitude search '~i ~snon-free' -F '%p'` ; do
+ echo "Package: ${pkg}" >> "${LOGDIR}"/nonfree-licenses.txt
+ echo "========================================================================" \
+ >> "${LOGDIR}"/nonfree-licenses.txt
+ if $ROOTCMD test -r "/usr/share/doc/${pkg}/copyright" ; then
+ $ROOTCMD cat "/usr/share/doc/${pkg}/copyright" >> "${LOGDIR}"/nonfree-licenses.txt
+ else
+ echo "${pkg} does not provide a copyright file" >> "${LOGDIR}"/nonfree-licenses.txt
+ fi
+ echo >> "${LOGDIR}"/nonfree-licenses.txt
+ done
fi
fi
## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2