[buildd-tools-devel] Bug#688304: Check for update-binfmts pollutes output because it does not redirect stderr from "which"

bugreports at jelmail.com bugreports at jelmail.com
Fri Sep 21 09:28:13 UTC 2012


Package: schroot
Version: 1.6.3-1

When entering a schroot the script "setup.d/15binfmt" is executed. This 
performs a check to see if "update-binfmts" is present (on line 31). If 
it is not present the output of the which call is displayed on the 
terminal (because it is sent to stderr and that is not redirected to 
/dev/null).

Example:

$ schroot  ls
E: 15binfmt: which: no update-binfmts in 
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
Desktop  files
E: 15binfmt: which: no update-binfmts in 
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)

This can be easily fixed by changing line 31 of setup.d/15binfmt from

elif ! which update-binfmts > /dev/null ; then

to

elif ! which update-binfmts > /dev/null 2>&1; then

Patch:
--- 15binfmt.old        2012-09-21 10:19:37.228058540 +0100
+++ 15binfmt.new        2012-09-21 10:21:21.732157718 +0100
@@ -28,7 +28,7 @@
     [ "$STAGE" != "setup-stop"  ] && \
     [ "$STAGE" != "setup-recover" ]; then
      exit 0
-elif ! which update-binfmts > /dev/null; then
+elif ! which update-binfmts > /dev/null 2>&1; then
      info "Missing update-binfmts; not enabling binfmt support"
      exit 0
  fi

System Details (ArchLinux):
Linux myhost 3.5.4-1-ARCH #1 SMP PREEMPT Sat Sep 15 08:12:04 CEST 2012 
x86_64 GNU/Linux
lrwxrwxrwx 1 root root 12 Aug 29 11:56 /lib/libc.so.6 -> libc-2.16.so
/etc/schroot/setup.d/15binfmt is owned by schroot 1.6.3-1



More information about the Buildd-tools-devel mailing list