Provide workaround for systemd's systemctl failures on jessie
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 95-package-information
index 25c88ab..05b9a33 100755 (executable)
@@ -1,34 +1,44 @@
-#!/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.
-# Latest change: Fri Dec 21 23:22:17 CET 2007 [mika]
 ################################################################################
 
-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