[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#689260: unblock: binfmt-support/2.0.12



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock                                                                                                                                                                                                    

I've just uploaded binfmt-support 2.0.12, which fixes what I think is a
clear bug in a new feature I added a while back (post-squeeze).  I'd
like to have this fixed in wheezy.

The full debdiff follows.  I had to add some extra code to support the
test suite; the meat of the change is in src/find.c.  There was already
one upload between wheezy and sid, which was just to defend against a
build failure with future glibc versions; that should be safe for wheezy
too, although I hadn't previously asked for it to be unblocked since it
isn't necessary in itself.

diff -Nru binfmt-support-2.0.10/Makefile.am binfmt-support-2.0.12/Makefile.am
--- binfmt-support-2.0.10/Makefile.am	2011-11-20 15:58:40.000000000 +0000
+++ binfmt-support-2.0.12/Makefile.am	2012-09-17 23:49:38.000000000 +0100
@@ -23,6 +23,7 @@
 EXTRA_DIST = \
 	.bzrignore \
 	autogen.sh \
+	gnulib/gets.patch \
 	gnulib/lib/argp-parse.patch \
 	gnulib/m4/gnulib-cache.m4 \
 	gnulib/m4/gnulib-tool.m4
diff -Nru binfmt-support-2.0.10/Makefile.in binfmt-support-2.0.12/Makefile.in
--- binfmt-support-2.0.10/Makefile.in	2012-07-30 10:30:23.000000000 +0100
+++ binfmt-support-2.0.12/Makefile.in	2012-09-17 23:50:11.000000000 +0100
@@ -309,7 +309,6 @@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
@@ -930,6 +929,7 @@
 EXTRA_DIST = \
 	.bzrignore \
 	autogen.sh \
+	gnulib/gets.patch \
 	gnulib/lib/argp-parse.patch \
 	gnulib/m4/gnulib-cache.m4 \
 	gnulib/m4/gnulib-tool.m4
diff -Nru binfmt-support-2.0.10/autogen.sh binfmt-support-2.0.12/autogen.sh
--- binfmt-support-2.0.10/autogen.sh	2012-06-26 00:08:49.000000000 +0100
+++ binfmt-support-2.0.12/autogen.sh	2012-09-17 23:48:45.000000000 +0100
@@ -1,4 +1,5 @@
-#! /bin/sh -e
+#! /bin/sh
+set -e
 
 # Copyright (C) 2010 Colin Watson.
 #
@@ -12,5 +13,6 @@
 
 if type gnulib-tool >/dev/null 2>&1; then
 	gnulib-tool --update >/dev/null
+	patch -s -p1 <gnulib/gets.patch
 fi
 autoreconf -fi "$@"
diff -Nru binfmt-support-2.0.10/config.h.in binfmt-support-2.0.12/config.h.in
--- binfmt-support-2.0.10/config.h.in	2012-07-30 10:30:21.000000000 +0100
+++ binfmt-support-2.0.12/config.h.in	2012-09-17 23:50:09.000000000 +0100
@@ -444,6 +444,9 @@
 /* Define to 1 if getpagesize is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETPAGESIZE
 
+/* Define to 1 if gets is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETS
+
 /* Define to 1 if getsubopt is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETSUBOPT
 
diff -Nru binfmt-support-2.0.10/configure binfmt-support-2.0.12/configure
--- binfmt-support-2.0.10/configure	2012-07-30 10:30:20.000000000 +0100
+++ binfmt-support-2.0.12/configure	2012-09-17 23:50:08.000000000 +0100
@@ -1023,7 +1023,6 @@
 GNULIB_PCLOSE
 GNULIB_OBSTACK_PRINTF_POSIX
 GNULIB_OBSTACK_PRINTF
-GNULIB_GETS
 GNULIB_GETLINE
 GNULIB_GETDELIM
 GNULIB_GETCHAR
@@ -8784,7 +8783,6 @@
   GNULIB_GETCHAR=0;
   GNULIB_GETDELIM=0;
   GNULIB_GETLINE=0;
-  GNULIB_GETS=0;
   GNULIB_OBSTACK_PRINTF=0;
   GNULIB_OBSTACK_PRINTF_POSIX=0;
   GNULIB_PCLOSE=0;
@@ -15332,7 +15330,6 @@
   GNULIB_GETC=1
   GNULIB_GETCHAR=1
   GNULIB_FGETS=1
-  GNULIB_GETS=1
   GNULIB_FREAD=1
 
 
@@ -15350,7 +15347,7 @@
 
 
 
-    for gl_func in dprintf fpurge fseeko ftello getdelim getline pclose popen renameat     snprintf tmpfile vdprintf vsnprintf; do
+    for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen     renameat snprintf tmpfile vdprintf vsnprintf; do
     as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
diff -Nru binfmt-support-2.0.10/debian/changelog binfmt-support-2.0.12/debian/changelog
--- binfmt-support-2.0.10/debian/changelog	2012-07-30 10:37:01.000000000 +0100
+++ binfmt-support-2.0.12/debian/changelog	2012-09-30 22:25:13.000000000 +0100
@@ -1,3 +1,17 @@
+binfmt-support (2.0.12) unstable; urgency=low
+
+  * Fix ineffective --find test.
+  * Don't show disabled formats in --find output (closes: #689247).
+
+ -- Colin Watson <cjwatson@debian.org>  Sun, 30 Sep 2012 22:25:11 +0100
+
+binfmt-support (2.0.11) unstable; urgency=low
+
+  * Backport Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348 to stop
+    assuming gets.
+
+ -- Colin Watson <cjwatson@debian.org>  Tue, 18 Sep 2012 00:05:32 +0100
+
 binfmt-support (2.0.10) unstable; urgency=low
 
   * If a binary format is already enabled according to the kernel, which can
diff -Nru binfmt-support-2.0.10/gnulib/gets.patch binfmt-support-2.0.12/gnulib/gets.patch
--- binfmt-support-2.0.10/gnulib/gets.patch	1970-01-01 01:00:00.000000000 +0100
+++ binfmt-support-2.0.12/gnulib/gets.patch	2012-09-17 22:03:43.000000000 +0100
@@ -0,0 +1,107 @@
+commit 66712c23388e93e5c518ebc8515140fa0c807348
+Author: Eric Blake <eblake@redhat.com>
+Date:   Thu Mar 29 13:30:41 2012 -0600
+
+    stdio: don't assume gets any more
+    
+    Gnulib intentionally does not have a gets module, and now that C11
+    and glibc have dropped it, we should be more proactive about warning
+    any user on a platform that still has a declaration of this dangerous
+    interface.
+    
+    * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
+    support.
+    * modules/stdio (Makefile.am): Likewise.
+    * lib/stdio-read.c (gets): Likewise.
+    * tests/test-stdio-c++.cc: Likewise.
+    * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
+    * lib/stdio.in.h (gets): Make warning occur in more places.
+    * doc/posix-functions/gets.texi (gets): Update documentation.
+    Reported by Christer Solskogen.
+    
+    Signed-off-by: Eric Blake <eblake@redhat.com>
+
+diff --git a/gnulib/lib/stdio.in.h b/gnulib/lib/stdio.in.h
+index aa7b599..c377b6e 100644
+--- a/gnulib/lib/stdio.in.h
++++ b/gnulib/lib/stdio.in.h
+@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
+ # endif
+ #endif
+ 
+-#if @GNULIB_GETS@
+-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef gets
+-#   define gets rpl_gets
+-#  endif
+-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+-_GL_CXXALIAS_RPL (gets, char *, (char *s));
+-# else
+-_GL_CXXALIAS_SYS (gets, char *, (char *s));
+-#  undef gets
+-# endif
+-_GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+-   so any use of gets warrants an unconditional warning.  Assume it is
+-   always declared, since it is required by C89.  */
++   so any use of gets warrants an unconditional warning; besides, C11
++   removed it.  */
++#undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+ 
+@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
+ # endif
+ #endif
+ 
+-/* Some people would argue that sprintf should be handled like gets
+-   (for example, OpenBSD issues a link warning for both functions),
+-   since both can cause security holes due to buffer overruns.
++/* Some people would argue that all sprintf uses should be warned about
++   (for example, OpenBSD issues a link warning for it),
++   since it can cause security holes due to buffer overruns.
+    However, we believe that sprintf can be used safely, and is more
+    efficient than snprintf in those safe cases; and as proof of our
+    belief, we use sprintf in several gnulib modules.  So this header
+diff --git a/gnulib/m4/stdio_h.m4 b/gnulib/m4/stdio_h.m4
+index 1973e8d..b03393b 100644
+--- a/gnulib/m4/stdio_h.m4
++++ b/gnulib/m4/stdio_h.m4
+@@ -1,4 +1,4 @@
+-# stdio_h.m4 serial 40
++# stdio_h.m4 serial 41
+ dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -18,7 +18,6 @@ AC_DEFUN([gl_STDIO_H],
+   GNULIB_GETC=1
+   GNULIB_GETCHAR=1
+   GNULIB_FGETS=1
+-  GNULIB_GETS=1
+   GNULIB_FREAD=1
+   dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
+   dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+@@ -72,10 +71,10 @@ AC_DEFUN([gl_STDIO_H],
+ 
+   dnl Check for declarations of anything we want to poison if the
+   dnl corresponding gnulib module is not in use, and which is not
+-  dnl guaranteed by C89.
++  dnl guaranteed by both C89 and C11.
+   gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
+-    ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
+-    snprintf tmpfile vdprintf vsnprintf])
++    ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
++    renameat snprintf tmpfile vdprintf vsnprintf])
+ ])
+ 
+ AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
+@@ -113,7 +112,6 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
+   GNULIB_GETCHAR=0;              AC_SUBST([GNULIB_GETCHAR])
+   GNULIB_GETDELIM=0;             AC_SUBST([GNULIB_GETDELIM])
+   GNULIB_GETLINE=0;              AC_SUBST([GNULIB_GETLINE])
+-  GNULIB_GETS=0;                 AC_SUBST([GNULIB_GETS])
+   GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
+   GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
+   GNULIB_PCLOSE=0;               AC_SUBST([GNULIB_PCLOSE])
diff -Nru binfmt-support-2.0.10/gnulib/lib/Makefile.in binfmt-support-2.0.12/gnulib/lib/Makefile.in
--- binfmt-support-2.0.10/gnulib/lib/Makefile.in	2012-07-30 10:30:22.000000000 +0100
+++ binfmt-support-2.0.12/gnulib/lib/Makefile.in	2012-09-17 23:50:11.000000000 +0100
@@ -350,7 +350,6 @@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
diff -Nru binfmt-support-2.0.10/gnulib/lib/stdio.in.h binfmt-support-2.0.12/gnulib/lib/stdio.in.h
--- binfmt-support-2.0.10/gnulib/lib/stdio.in.h	2012-06-26 00:06:40.000000000 +0100
+++ binfmt-support-2.0.12/gnulib/lib/stdio.in.h	2012-09-17 23:49:59.000000000 +0100
@@ -698,22 +698,11 @@
 # endif
 #endif
 
-#if @GNULIB_GETS@
-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef gets
-#   define gets rpl_gets
-#  endif
-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (gets, char *, (char *s));
-# else
-_GL_CXXALIAS_SYS (gets, char *, (char *s));
-#  undef gets
-# endif
-_GL_CXXALIASWARN (gets);
 /* It is very rare that the developer ever has full control of stdin,
-   so any use of gets warrants an unconditional warning.  Assume it is
-   always declared, since it is required by C89.  */
+   so any use of gets warrants an unconditional warning; besides, C11
+   removed it.  */
+#undef gets
+#if HAVE_RAW_DECL_GETS
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
 
@@ -1053,9 +1042,9 @@
 # endif
 #endif
 
-/* Some people would argue that sprintf should be handled like gets
-   (for example, OpenBSD issues a link warning for both functions),
-   since both can cause security holes due to buffer overruns.
+/* Some people would argue that all sprintf uses should be warned about
+   (for example, OpenBSD issues a link warning for it),
+   since it can cause security holes due to buffer overruns.
    However, we believe that sprintf can be used safely, and is more
    efficient than snprintf in those safe cases; and as proof of our
    belief, we use sprintf in several gnulib modules.  So this header
diff -Nru binfmt-support-2.0.10/gnulib/m4/stdio_h.m4 binfmt-support-2.0.12/gnulib/m4/stdio_h.m4
--- binfmt-support-2.0.10/gnulib/m4/stdio_h.m4	2012-06-26 00:06:41.000000000 +0100
+++ binfmt-support-2.0.12/gnulib/m4/stdio_h.m4	2012-09-17 23:49:59.000000000 +0100
@@ -1,4 +1,4 @@
-# stdio_h.m4 serial 40
+# stdio_h.m4 serial 41
 dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -18,7 +18,6 @@
   GNULIB_GETC=1
   GNULIB_GETCHAR=1
   GNULIB_FGETS=1
-  GNULIB_GETS=1
   GNULIB_FREAD=1
   dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
   dnl "expected source file, required through AC_LIBSOURCES, not found". It is
@@ -72,10 +71,10 @@
 
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use, and which is not
-  dnl guaranteed by C89.
+  dnl guaranteed by both C89 and C11.
   gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
-    ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
-    snprintf tmpfile vdprintf vsnprintf])
+    ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
+    renameat snprintf tmpfile vdprintf vsnprintf])
 ])
 
 AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
@@ -113,7 +112,6 @@
   GNULIB_GETCHAR=0;              AC_SUBST([GNULIB_GETCHAR])
   GNULIB_GETDELIM=0;             AC_SUBST([GNULIB_GETDELIM])
   GNULIB_GETLINE=0;              AC_SUBST([GNULIB_GETLINE])
-  GNULIB_GETS=0;                 AC_SUBST([GNULIB_GETS])
   GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
   GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
   GNULIB_PCLOSE=0;               AC_SUBST([GNULIB_PCLOSE])
diff -Nru binfmt-support-2.0.10/man/Makefile.in binfmt-support-2.0.12/man/Makefile.in
--- binfmt-support-2.0.10/man/Makefile.in	2012-07-30 10:30:22.000000000 +0100
+++ binfmt-support-2.0.12/man/Makefile.in	2012-09-17 23:50:11.000000000 +0100
@@ -282,7 +282,6 @@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
diff -Nru binfmt-support-2.0.10/src/Makefile.in binfmt-support-2.0.12/src/Makefile.in
--- binfmt-support-2.0.10/src/Makefile.in	2012-07-30 10:30:22.000000000 +0100
+++ binfmt-support-2.0.12/src/Makefile.in	2012-09-17 23:50:11.000000000 +0100
@@ -318,7 +318,6 @@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
diff -Nru binfmt-support-2.0.10/src/find.c binfmt-support-2.0.12/src/find.c
--- binfmt-support-2.0.10/src/find.c	2011-01-25 14:26:20.000000000 +0000
+++ binfmt-support-2.0.12/src/find.c	2012-09-30 22:12:46.000000000 +0100
@@ -26,7 +26,9 @@
 #include <string.h>
 #include <dirent.h>
 #include <assert.h>
+#include <unistd.h>
 #include <sys/types.h>
+#include <sys/stat.h>
 
 #include <pipeline.h>
 
@@ -83,12 +85,19 @@
 	quit_err ("unable to open %s", admindir);
     *formats = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL, NULL, true);
     while ((entry = readdir (dir)) != NULL) {
-	char *admindir_name;
+	char *admindir_name, *procdir_name;
+	struct stat st;
 	struct binfmt *binfmt;
 	size_t mask_size;
 
 	if (!strcmp (entry->d_name, ".") || !strcmp (entry->d_name, ".."))
 	    continue;
+	procdir_name = xasprintf ("%s/%s", procdir, entry->d_name);
+	if (stat (procdir_name, &st) == -1) {
+	    free (procdir_name);
+	    continue;
+	}
+	free (procdir_name);
 	admindir_name = xasprintf ("%s/%s", admindir, entry->d_name);
 	binfmt = binfmt_load (entry->d_name, admindir_name, 0);
 	free (admindir_name);
diff -Nru binfmt-support-2.0.10/src/run-detectors.c binfmt-support-2.0.12/src/run-detectors.c
--- binfmt-support-2.0.10/src/run-detectors.c	2011-01-24 16:54:09.000000000 +0000
+++ binfmt-support-2.0.12/src/run-detectors.c	2012-09-30 22:12:02.000000000 +0100
@@ -39,12 +39,16 @@
 const char *argp_program_bug_address = PACKAGE_BUGREPORT;
 
 enum opts {
-    OPT_ADMINDIR = 256
+    OPT_ADMINDIR = 256,
+    OPT_PROCDIR
 };
 
 static struct argp_option options[] = {
     { "admindir",	OPT_ADMINDIR,	"DIRECTORY",	0,
 	"administration directory (default: /var/lib/binfmts)" },
+    { "procdir",	OPT_PROCDIR,	"DIRECTORY",	OPTION_HIDDEN,
+	"proc directory, for test suite use only "
+	"(default: /proc/sys/fs/binfmt_misc)", 5 },
     { 0 }
 };
 
@@ -54,6 +58,10 @@
 	case OPT_ADMINDIR:
 	    admindir = arg;
 	    return 0;
+
+	case OPT_PROCDIR:
+	    procdir = arg;
+	    return 0;
     }
 
     return ARGP_ERR_UNKNOWN;
diff -Nru binfmt-support-2.0.10/src/tests/Makefile.in binfmt-support-2.0.12/src/tests/Makefile.in
--- binfmt-support-2.0.10/src/tests/Makefile.in	2012-07-30 10:30:23.000000000 +0100
+++ binfmt-support-2.0.12/src/tests/Makefile.in	2012-09-17 23:50:11.000000000 +0100
@@ -253,7 +253,6 @@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
diff -Nru binfmt-support-2.0.10/src/tests/find binfmt-support-2.0.12/src/tests/find
--- binfmt-support-2.0.10/src/tests/find	2011-02-25 16:06:39.000000000 +0000
+++ binfmt-support-2.0.12/src/tests/find	2012-09-30 21:54:30.000000000 +0100
@@ -15,6 +15,15 @@
 echo /bin/sh >"$tmpdir/1.exp"
 expect_pass 'magic: run find' \
 	    'update_binfmts_proc --find "$tmpdir/program.ext" >"$tmpdir/1.out"'
-expect_pass 'diff -u "$tmpdir/1.out" "$tmpdir/1.exp"'
+expect_pass 'magic: find result OK' \
+	    'diff -u "$tmpdir/1.out" "$tmpdir/1.exp"'
+
+expect_pass 'magic: disable' \
+	    'update_binfmts_proc --disable test'
+touch "$tmpdir/2.exp"
+expect_pass 'magic: run find (disabled)' \
+	    'update_binfmts_proc --find "$tmpdir/program.ext" >"$tmpdir/2.out"'
+expect_pass 'magic: find result OK' \
+	    'diff -u "$tmpdir/2.out" "$tmpdir/2.exp"'
 
 finish
diff -Nru binfmt-support-2.0.10/src/tests/testlib.sh binfmt-support-2.0.12/src/tests/testlib.sh
--- binfmt-support-2.0.10/src/tests/testlib.sh	2011-07-10 00:51:05.000000000 +0100
+++ binfmt-support-2.0.12/src/tests/testlib.sh	2012-09-30 22:11:43.000000000 +0100
@@ -43,7 +43,8 @@
 }
 
 run_detectors () {
-	$RUN_DETECTORS --admindir "$tmpdir/var/lib/binfmts" "$@"
+	$RUN_DETECTORS --admindir "$tmpdir/var/lib/binfmts" \
+		       --procdir "$tmpdir/proc" "$@"
 }
 
 expect_pass () {

Thanks,

-- 
Colin Watson                                       [cjwatson@debian.org]


Reply to: