polystrap [PATCH] Informational messages to standard out

In good UNIX tradition is it possible to do
  foo > /dev/null
to make foo silent and get only the error messages of foo

For polystrap should that also be possible.
This commit is contained in:
Geert Stappers 2011-07-03 09:41:01 +02:00 committed by josch
parent c0e5a61eb9
commit da509267c7

View file

@ -33,7 +33,7 @@ export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C
export PATH=$PATH:/usr/sbin:/sbin export PATH=$PATH:/usr/sbin:/sbin
if [ "$FAKEROOTKEY" = "" ]; then if [ "$FAKEROOTKEY" = "" ]; then
echo "I: re-executing script inside fakeroot" >&2 echo "I: re-executing script inside fakeroot"
fakeroot "$0" "$@"; fakeroot "$0" "$@";
exit exit
fi fi
@ -84,19 +84,19 @@ fi
# binutils must always be installed for objdump for fake ldd # binutils must always be installed for objdump for fake ldd
PACKAGES="$PACKAGES binutils" PACKAGES="$PACKAGES binutils"
echo "I: --------------------------" >&2 echo "I: --------------------------"
echo "I: suite: $SUITE" >&2 echo "I: suite: $SUITE"
echo "I: arch: $ARCH" >&2 echo "I: arch: $ARCH"
echo "I: rootdir: $ROOTDIR" >&2 echo "I: rootdir: $ROOTDIR"
echo "I: mirror: $MIRROR" >&2 echo "I: mirror: $MIRROR"
echo "I: pkgs: $PACKAGES" >&2 echo "I: pkgs: $PACKAGES"
echo "I: --------------------------" >&2 echo "I: --------------------------"
[ -e "$ROOTDIR.tar" ] && { echo "tarball still exists" >&2; exit 1; } [ -e "$ROOTDIR.tar" ] && { echo "tarball still exists" >&2; exit 1; }
[ -e "$ROOTDIR" ] && { echo "root directory still exists" >&2; exit 1; } [ -e "$ROOTDIR" ] && { echo "root directory still exists" >&2; exit 1; }
# create multistrap.conf # create multistrap.conf
echo "I: create multistrap.conf" >&2 echo "I: create multistrap.conf"
MULTISTRAPCONF=`tempfile -d . -p multistrap` MULTISTRAPCONF=`tempfile -d . -p multistrap`
echo -n > "$MULTISTRAPCONF" echo -n > "$MULTISTRAPCONF"
while read line; do while read line; do
@ -111,18 +111,18 @@ multistrap $MSTRAP_SIM -f "$MULTISTRAPCONF"
rm -f "$MULTISTRAPCONF" rm -f "$MULTISTRAPCONF"
# backup ldconfig and ldd # backup ldconfig and ldd
echo "I: backup ldconfig and ldd" >&2 echo "I: backup ldconfig and ldd"
mv $ROOTDIR/sbin/ldconfig $ROOTDIR/sbin/ldconfig.REAL mv $ROOTDIR/sbin/ldconfig $ROOTDIR/sbin/ldconfig.REAL
mv $ROOTDIR/usr/bin/ldd $ROOTDIR/usr/bin/ldd.REAL mv $ROOTDIR/usr/bin/ldd $ROOTDIR/usr/bin/ldd.REAL
# copy initial directory tree - dereference symlinks # copy initial directory tree - dereference symlinks
echo "I: copy initial directory root tree $PLATFORM/root/ to $ROOTDIR/" >&2 echo "I: copy initial directory root tree $PLATFORM/root/ to $ROOTDIR/"
if [ -r "$PLATFORM/root" ]; then if [ -r "$PLATFORM/root" ]; then
cp --recursive --dereference $PLATFORM/root/* $ROOTDIR/ cp --recursive --dereference $PLATFORM/root/* $ROOTDIR/
fi fi
# preseed debconf # preseed debconf
echo "I: preseed debconf" >&2 echo "I: preseed debconf"
if [ -r "$PLATFORM/debconfseed.txt" ]; then if [ -r "$PLATFORM/debconfseed.txt" ]; then
cp "$PLATFORM/debconfseed.txt" $ROOTDIR/tmp/ cp "$PLATFORM/debconfseed.txt" $ROOTDIR/tmp/
fakechroot chroot $ROOTDIR debconf-set-selections /tmp/debconfseed.txt fakechroot chroot $ROOTDIR debconf-set-selections /tmp/debconfseed.txt
@ -132,24 +132,24 @@ fi
# run preinst scripts # run preinst scripts
for script in $ROOTDIR/var/lib/dpkg/info/*.preinst; do for script in $ROOTDIR/var/lib/dpkg/info/*.preinst; do
[ "$script" = "$ROOTDIR/var/lib/dpkg/info/bash.preinst" ] && continue [ "$script" = "$ROOTDIR/var/lib/dpkg/info/bash.preinst" ] && continue
echo "I: run preinst script ${script##$ROOTDIR}" >&2 echo "I: run preinst script ${script##$ROOTDIR}"
fakechroot chroot $ROOTDIR ${script##$ROOTDIR} install fakechroot chroot $ROOTDIR ${script##$ROOTDIR} install
done done
# run dpkg --configure -a twice because of errors during the first run # run dpkg --configure -a twice because of errors during the first run
echo "I: configure packages" >&2 echo "I: configure packages"
fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a || fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a || fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a
# source hooks # source hooks
if [ -r "$PLATFORM/hooks" ]; then if [ -r "$PLATFORM/hooks" ]; then
for f in $PLATFORM/hooks/*; do for f in $PLATFORM/hooks/*; do
echo "I: run hook $f" >&2 echo "I: run hook $f"
. $f . $f
done done
fi fi
#cleanup #cleanup
echo "I: cleanup" >&2 echo "I: cleanup"
rm $ROOTDIR/sbin/ldconfig $ROOTDIR/usr/bin/ldd rm $ROOTDIR/sbin/ldconfig $ROOTDIR/usr/bin/ldd
mv $ROOTDIR/sbin/ldconfig.REAL $ROOTDIR/sbin/ldconfig mv $ROOTDIR/sbin/ldconfig.REAL $ROOTDIR/sbin/ldconfig
mv $ROOTDIR/usr/bin/ldd.REAL $ROOTDIR/usr/bin/ldd mv $ROOTDIR/usr/bin/ldd.REAL $ROOTDIR/usr/bin/ldd
@ -157,6 +157,6 @@ rm $ROOTDIR/usr/sbin/policy-rc.d
# need to generate tar inside fakechroot so that absolute symlinks are correct # need to generate tar inside fakechroot so that absolute symlinks are correct
# tar is clever enough to not try and put the archive inside itself # tar is clever enough to not try and put the archive inside itself
echo "I: create tarball $ROOTDIR.tar" >&2 echo "I: create tarball $ROOTDIR.tar"
fakechroot chroot $ROOTDIR tar -cf $ROOTDIR.tar -C / . fakechroot chroot $ROOTDIR tar -cf $ROOTDIR.tar -C / .
mv $ROOTDIR/$ROOTDIR.tar . mv $ROOTDIR/$ROOTDIR.tar .