Hello community,

here is the log from the commit of package fuse for openSUSE:Factory checked in 
at 2015-05-23 12:49:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fuse (Old)
 and      /work/SRC/openSUSE:Factory/.fuse.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fuse"

Changes:
--------
--- /work/SRC/openSUSE:Factory/fuse/fuse.changes        2014-12-16 
14:50:50.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fuse.new/fuse.changes   2015-05-23 
12:50:00.000000000 +0200
@@ -1,0 +2,11 @@
+Fri May 22 09:38:26 UTC 2015 - [email protected]
+
+- Update to version 2.9.4
+  - fix exec environment for mount and umount (bsc#931452,
+    CVE-2015-3202)
+  - properly restore the default signal handler
+  - fix directory file handle passed to        ioctl() method.
+  - fix for uids/gids larger than 2147483647
+  - initialize stat buffer passed to ->getattr() and ->fgetattr()
+
+-------------------------------------------------------------------

Old:
----
  fuse-2.9.3.tar.gz

New:
----
  fuse-2.9.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fuse.spec ++++++
--- /var/tmp/diff_new_pack.0gEprK/_old  2015-05-23 12:50:01.000000000 +0200
+++ /var/tmp/diff_new_pack.0gEprK/_new  2015-05-23 12:50:01.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package fuse
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 Summary:        User space File System
 License:        GPL-2.0+ and LGPL-2.1+
 Group:          System/Filesystems
-Version:        2.9.3
+Version:        2.9.4
 Release:        0
 # http://downloads.sf.net/fuse/fuse-%%version.tar.gz
 Source:         
http://downloads.sourceforge.net/project/fuse/fuse-2.X/%{version}/%{name}-%{version}.tar.gz

++++++ fuse-2.9.3.tar.gz -> fuse-2.9.4.tar.gz ++++++
++++ 5738 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/ChangeLog new/fuse-2.9.4/ChangeLog
--- old/fuse-2.9.3/ChangeLog    2013-07-01 10:23:08.000000000 +0200
+++ new/fuse-2.9.4/ChangeLog    2015-05-22 11:14:14.000000000 +0200
@@ -1,3 +1,42 @@
+2015-05-22  Miklos Szeredi <[email protected]>
+
+       * Released 2.9.4
+
+2015-05-22  Miklos Szeredi <[email protected]>
+
+       * libfuse: fix exec environment for mount and umount.  Found by
+       Tavis Ormandy (CVE-2015-3202).
+
+2015-02-26  Miklos Szeredi <[email protected]>
+
+       * libfuse: fix fuse_remove_signal_handlers() to properly restore
+       the default signal handler.  Reported by: Chris Johnson
+
+2014-07-21  Miklos Szeredi <[email protected]>
+
+       * libfuse: highlevel API: fix directory file handle passed to
+       ioctl() method.  Reported by Eric Biggers
+
+2014-07-15  Miklos Szeredi <[email protected]>
+
+       * libfuse: document deadlock avoidance for
+       fuse_notify_inval_entry() and fuse_notify_delete()
+
+       * fusermount, libfuse: send value as unsigned in "user_id=" and
+       "group_id=" options.  Uids/gids larger than 2147483647 would
+       result in EINVAL when mounting the filesystem.  This also needs a
+       fix in the kernel.
+
+2014-03-26  Miklos Szeredi <[email protected]>
+
+       * Initilaize stat buffer passed to ->getattr() and ->fgetattr() to
+       zero in all cases.  Reported by Daniel Iwan
+
+2013-08-26  Miklos Szeredi <[email protected]>
+
+       * libfuse: Add missing includes.  This allows compiling fuse with
+       musl.  Patch by Daniel Thau
+
 2013-07-01  Miklos Szeredi <[email protected]>
 
        * Released 2.9.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/INSTALL new/fuse-2.9.4/INSTALL
--- old/fuse-2.9.3/INSTALL      2013-02-18 14:44:00.000000000 +0100
+++ new/fuse-2.9.4/INSTALL      2015-05-22 11:16:32.000000000 +0200
@@ -1,7 +1,7 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
 Inc.
 
    Copying and distribution of this file, with or without modification,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/compile new/fuse-2.9.4/compile
--- old/fuse-2.9.3/compile      2013-02-18 14:44:00.000000000 +0100
+++ new/fuse-2.9.4/compile      2015-05-22 11:16:32.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-03-05.13; # UTC
+scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -112,6 +112,11 @@
       lib=$dir/$lib.lib
       break
     fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
   done
   IFS=$save_IFS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/config.rpath new/fuse-2.9.4/config.rpath
--- old/fuse-2.9.3/config.rpath 2013-02-18 14:43:50.000000000 +0100
+++ new/fuse-2.9.4/config.rpath 2015-05-22 11:16:20.000000000 +0200
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2010 Free Software Foundation, Inc.
+#   Copyright 1996-2014 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <[email protected]>, 1996
 #
@@ -25,7 +25,7 @@
 #   known workaround is to choose shorter directory names for the build
 #   directory and/or the installation directory.
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 shrext=.so
@@ -57,13 +57,6 @@
     aix*)
       wl='-Wl,'
       ;;
-    darwin*)
-      case $cc_basename in
-        xlc*)
-          wl='-Wl,'
-          ;;
-      esac
-      ;;
     mingw* | cygwin* | pw32* | os2* | cegcc*)
       ;;
     hpux9* | hpux10* | hpux11*)
@@ -72,9 +65,7 @@
     irix5* | irix6* | nonstopux*)
       wl='-Wl,'
       ;;
-    newsos6)
-      ;;
-    linux* | k*bsd*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
       case $cc_basename in
         ecc*)
           wl='-Wl,'
@@ -85,17 +76,26 @@
         lf95*)
           wl='-Wl,'
           ;;
-        pgcc | pgf77 | pgf90)
+        nagfor*)
+          wl='-Wl,-Wl,,'
+          ;;
+        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
           wl='-Wl,'
           ;;
         ccc*)
           wl='-Wl,'
           ;;
+        xl* | bgxl* | bgf* | mpixl*)
+          wl='-Wl,'
+          ;;
         como)
           wl='-lopt='
           ;;
         *)
           case `$CC -V 2>&1 | sed 5q` in
+            *Sun\ F* | *Sun*Fortran*)
+              wl=
+              ;;
             *Sun\ C*)
               wl='-Wl,'
               ;;
@@ -103,13 +103,24 @@
           ;;
       esac
       ;;
+    newsos6)
+      ;;
+    *nto* | *qnx*)
+      ;;
     osf3* | osf4* | osf5*)
       wl='-Wl,'
       ;;
     rdos*)
       ;;
     solaris*)
-      wl='-Wl,'
+      case $cc_basename in
+        f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+          wl='-Qoption ld '
+          ;;
+        *)
+          wl='-Wl,'
+          ;;
+      esac
       ;;
     sunos4*)
       wl='-Qoption ld '
@@ -171,15 +182,14 @@
       fi
       ;;
     amigaos*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # Samuel A. Falvo II <[email protected]> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we cannot use
-      # them.
-      ld_shlibs=no
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
       ;;
     beos*)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
@@ -198,11 +208,13 @@
         ld_shlibs=no
       fi
       ;;
+    haiku*)
+      ;;
     interix[3-9]*)
       hardcode_direct=no
       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
       ;;
-    gnu* | linux* | k*bsd*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
         :
       else
@@ -325,10 +337,14 @@
       fi
       ;;
     amigaos*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs=no
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
       ;;
     bsdi[45]*)
       ;;
@@ -342,29 +358,16 @@
       ;;
     darwin* | rhapsody*)
       hardcode_direct=no
-      if test "$GCC" = yes ; then
+      if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; 
then
         :
       else
-        case $cc_basename in
-          xlc*)
-            ;;
-          *)
-            ld_shlibs=no
-            ;;
-        esac
+        ld_shlibs=no
       fi
       ;;
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-    freebsd2.2*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    freebsd2*)
+    freebsd2.[01]*)
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
@@ -420,6 +423,8 @@
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       hardcode_libdir_separator=:
       ;;
+    *nto* | *qnx*)
+      ;;
     openbsd*)
       if test -f /usr/libexec/ld.so; then
         hardcode_direct=yes
@@ -515,7 +520,12 @@
     library_names_spec='$libname$shrext'
     ;;
   amigaos*)
-    library_names_spec='$libname.a'
+    case "$host_cpu" in
+      powerpc*)
+        library_names_spec='$libname$shrext' ;;
+      m68k)
+        library_names_spec='$libname.a' ;;
+    esac
     ;;
   beos*)
     library_names_spec='$libname$shrext'
@@ -534,19 +544,18 @@
   dgux*)
     library_names_spec='$libname$shrext'
     ;;
-  freebsd1*)
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
     ;;
   freebsd* | dragonfly*)
-    case "$host_os" in
-      freebsd[123]*)
-        library_names_spec='$libname$shrext$versuffix' ;;
-      *)
-        library_names_spec='$libname$shrext' ;;
-    esac
+    library_names_spec='$libname$shrext'
     ;;
   gnu*)
     library_names_spec='$libname$shrext'
     ;;
+  haiku*)
+    library_names_spec='$libname$shrext'
+    ;;
   hpux9* | hpux10* | hpux11*)
     case $host_cpu in
       ia64*)
@@ -582,7 +591,7 @@
     ;;
   linux*oldld* | linux*aout* | linux*coff*)
     ;;
-  linux* | k*bsd*-gnu)
+  linux* | k*bsd*-gnu | kopensolaris*-gnu)
     library_names_spec='$libname$shrext'
     ;;
   knetbsd*-gnu)
@@ -594,7 +603,7 @@
   newsos6)
     library_names_spec='$libname$shrext'
     ;;
-  nto-qnx*)
+  *nto* | *qnx*)
     library_names_spec='$libname$shrext'
     ;;
   openbsd*)
@@ -625,6 +634,9 @@
   sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     library_names_spec='$libname$shrext'
     ;;
+  tpf*)
+    library_names_spec='$libname$shrext'
+    ;;
   uts4*)
     library_names_spec='$libname$shrext'
     ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/configure.ac new/fuse-2.9.4/configure.ac
--- old/fuse-2.9.3/configure.ac 2013-07-01 10:23:50.000000000 +0200
+++ new/fuse-2.9.4/configure.ac 2015-05-22 11:14:22.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(fuse, 2.9.3)
+AC_INIT(fuse, 2.9.4)
 
 AC_PREREQ(2.59d)
 AC_CONFIG_MACRO_DIR([m4])
@@ -77,14 +77,17 @@
 
 if test -z "$MOUNT_FUSE_PATH"; then
        MOUNT_FUSE_PATH=/sbin
+       AC_MSG_NOTICE([MOUNT_FUSE_PATH env var not set, using default 
$MOUNT_FUSE_PATH])
 fi
 AC_SUBST(MOUNT_FUSE_PATH)
 if test -z "$UDEV_RULES_PATH"; then
        UDEV_RULES_PATH=/etc/udev/rules.d
+       AC_MSG_NOTICE([UDEV_RULES_PATH env var not set, using default 
$UDEV_RULES_PATH])
 fi
 AC_SUBST(UDEV_RULES_PATH)
 if test -z "$INIT_D_PATH"; then
        INIT_D_PATH=/etc/init.d
+       AC_MSG_NOTICE([INIT_D_PATH env var not set, using default $INIT_D_PATH])
 fi
 AC_SUBST(INIT_D_PATH)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/include/fuse.h new/fuse-2.9.4/include/fuse.h
--- old/fuse-2.9.3/include/fuse.h       2013-07-01 09:40:39.000000000 +0200
+++ new/fuse-2.9.4/include/fuse.h       2014-07-21 18:59:23.000000000 +0200
@@ -500,6 +500,9 @@
         * _IOC_READ in area and if both are set in/out area.  In all
         * non-NULL cases, the area is of _IOC_SIZE(cmd) bytes.
         *
+        * If flags has FUSE_IOCTL_DIR then the fuse_file_info refers to a
+        * directory file handle.
+        *
         * Introduced in version 2.8
         */
        int (*ioctl) (const char *, int cmd, void *arg,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/include/fuse_lowlevel.h new/fuse-2.9.4/include/fuse_lowlevel.h
--- old/fuse-2.9.3/include/fuse_lowlevel.h      2013-07-01 09:40:39.000000000 
+0200
+++ new/fuse-2.9.4/include/fuse_lowlevel.h      2014-07-22 06:31:32.000000000 
+0200
@@ -1335,6 +1335,10 @@
  * Notify to invalidate parent attributes and the dentry matching
  * parent/name
  *
+ * To avoid a deadlock don't call this function from a filesystem operation and
+ * don't call it with a lock held that can also be held by a filesystem
+ * operation.
+ *
  * @param ch the channel through which to send the invalidation
  * @param parent inode number
  * @param name file name
@@ -1349,6 +1353,10 @@
  * parent/name if the dentry's inode number matches child (otherwise it
  * will invalidate the matching dentry).
  *
+ * To avoid a deadlock don't call this function from a filesystem operation and
+ * don't call it with a lock held that can also be held by a filesystem
+ * operation.
+ *
  * @param ch the channel through which to send the notification
  * @param parent inode number
  * @param child inode number
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/lib/Makefile.am new/fuse-2.9.4/lib/Makefile.am
--- old/fuse-2.9.3/lib/Makefile.am      2013-07-01 10:24:00.000000000 +0200
+++ new/fuse-2.9.4/lib/Makefile.am      2015-05-22 11:14:31.000000000 +0200
@@ -36,7 +36,7 @@
        $(iconv_source)         \
        $(mount_source)
 
-libfuse_la_LDFLAGS = -pthread @libfuse_libs@ -version-number 2:9:3 \
+libfuse_la_LDFLAGS = -pthread @libfuse_libs@ -version-number 2:9:4 \
        -Wl,--version-script,$(srcdir)/fuse_versionscript
 
 if NETBSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/lib/fuse.c new/fuse-2.9.4/lib/fuse.c
--- old/fuse-2.9.3/lib/fuse.c   2013-07-01 09:40:39.000000000 +0200
+++ new/fuse-2.9.4/lib/fuse.c   2014-07-22 06:29:15.000000000 +0200
@@ -37,6 +37,7 @@
 #include <sys/uio.h>
 #include <sys/time.h>
 #include <sys/mman.h>
+#include <sys/file.h>
 
 #define FUSE_NODE_SLAB 1
 
@@ -2395,6 +2396,7 @@
                if (res)
                        break;
 
+               memset(&buf, 0, sizeof(buf));
                res = fuse_fs_getattr(f->fs, newpath, &buf);
                if (res == -ENOENT)
                        break;
@@ -2768,6 +2770,7 @@
        char *path;
        int err;
 
+       memset(&buf, 0, sizeof(buf));
        if (valid == FUSE_SET_ATTR_SIZE && fi != NULL &&
            f->fs->op.ftruncate && f->fs->op.fgetattr)
                err = get_path_nullok(f, ino, &path);
@@ -3997,12 +4000,13 @@
 }
 
 static void fuse_lib_ioctl(fuse_req_t req, fuse_ino_t ino, int cmd, void *arg,
-                          struct fuse_file_info *fi, unsigned int flags,
+                          struct fuse_file_info *llfi, unsigned int flags,
                           const void *in_buf, size_t in_bufsz,
                           size_t out_bufsz)
 {
        struct fuse *f = req_fuse_prepare(req);
        struct fuse_intr_data d;
+       struct fuse_file_info fi;
        char *path, *out_buf = NULL;
        int err;
 
@@ -4010,6 +4014,11 @@
        if (flags & FUSE_IOCTL_UNRESTRICTED)
                goto err;
 
+       if (flags & FUSE_IOCTL_DIR)
+               get_dirhandle(llfi, &fi);
+       else
+               fi = *llfi;
+
        if (out_bufsz) {
                err = -ENOMEM;
                out_buf = malloc(out_bufsz);
@@ -4027,7 +4036,7 @@
 
        fuse_prepare_interrupt(f, req, &d);
 
-       err = fuse_fs_ioctl(f->fs, path, cmd, arg, fi, flags,
+       err = fuse_fs_ioctl(f->fs, path, cmd, arg, &fi, flags,
                            out_buf ?: (void *)in_buf);
 
        fuse_finish_interrupt(f, req, &d);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/lib/fuse_lowlevel.c new/fuse-2.9.4/lib/fuse_lowlevel.c
--- old/fuse-2.9.3/lib/fuse_lowlevel.c  2013-07-01 09:40:39.000000000 +0200
+++ new/fuse-2.9.4/lib/fuse_lowlevel.c  2014-07-04 14:20:34.000000000 +0200
@@ -24,6 +24,7 @@
 #include <limits.h>
 #include <errno.h>
 #include <assert.h>
+#include <sys/file.h>
 
 #ifndef F_LINUX_SPECIFIC_BASE
 #define F_LINUX_SPECIFIC_BASE       1024
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/lib/fuse_signals.c new/fuse-2.9.4/lib/fuse_signals.c
--- old/fuse-2.9.3/lib/fuse_signals.c   2013-02-18 10:41:39.000000000 +0100
+++ new/fuse-2.9.4/lib/fuse_signals.c   2015-02-26 16:58:37.000000000 +0100
@@ -21,13 +21,13 @@
                fuse_session_exit(fuse_instance);
 }
 
-static int set_one_signal_handler(int sig, void (*handler)(int))
+static int set_one_signal_handler(int sig, void (*handler)(int), int remove)
 {
        struct sigaction sa;
        struct sigaction old_sa;
 
        memset(&sa, 0, sizeof(struct sigaction));
-       sa.sa_handler = handler;
+       sa.sa_handler = remove ? SIG_DFL : handler;
        sigemptyset(&(sa.sa_mask));
        sa.sa_flags = 0;
 
@@ -36,7 +36,7 @@
                return -1;
        }
 
-       if (old_sa.sa_handler == SIG_DFL &&
+       if (old_sa.sa_handler == (remove ? handler : SIG_DFL) &&
            sigaction(sig, &sa, NULL) == -1) {
                perror("fuse: cannot set signal handler");
                return -1;
@@ -46,10 +46,10 @@
 
 int fuse_set_signal_handlers(struct fuse_session *se)
 {
-       if (set_one_signal_handler(SIGHUP, exit_handler) == -1 ||
-           set_one_signal_handler(SIGINT, exit_handler) == -1 ||
-           set_one_signal_handler(SIGTERM, exit_handler) == -1 ||
-           set_one_signal_handler(SIGPIPE, SIG_IGN) == -1)
+       if (set_one_signal_handler(SIGHUP, exit_handler, 0) == -1 ||
+           set_one_signal_handler(SIGINT, exit_handler, 0) == -1 ||
+           set_one_signal_handler(SIGTERM, exit_handler, 0) == -1 ||
+           set_one_signal_handler(SIGPIPE, SIG_IGN, 0) == -1)
                return -1;
 
        fuse_instance = se;
@@ -64,9 +64,9 @@
        else
                fuse_instance = NULL;
 
-       set_one_signal_handler(SIGHUP, SIG_DFL);
-       set_one_signal_handler(SIGINT, SIG_DFL);
-       set_one_signal_handler(SIGTERM, SIG_DFL);
-       set_one_signal_handler(SIGPIPE, SIG_DFL);
+       set_one_signal_handler(SIGHUP, exit_handler, 1);
+       set_one_signal_handler(SIGINT, exit_handler, 1);
+       set_one_signal_handler(SIGTERM, exit_handler, 1);
+       set_one_signal_handler(SIGPIPE, SIG_IGN, 1);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/lib/mount.c new/fuse-2.9.4/lib/mount.c
--- old/fuse-2.9.3/lib/mount.c  2013-07-01 09:55:15.000000000 +0200
+++ new/fuse-2.9.4/lib/mount.c  2015-05-22 11:13:33.000000000 +0200
@@ -467,7 +467,7 @@
                return -1;
        }
 
-       snprintf(tmp, sizeof(tmp),  "fd=%i,rootmode=%o,user_id=%i,group_id=%i",
+       snprintf(tmp, sizeof(tmp),  "fd=%i,rootmode=%o,user_id=%u,group_id=%u",
                 fd, stbuf.st_mode & S_IFMT, getuid(), getgid());
 
        res = fuse_opt_add_opt(&mo->kernel_opts, tmp);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/lib/mount_util.c new/fuse-2.9.4/lib/mount_util.c
--- old/fuse-2.9.3/lib/mount_util.c     2013-07-01 09:25:36.000000000 +0200
+++ new/fuse-2.9.4/lib/mount_util.c     2015-05-22 11:00:13.000000000 +0200
@@ -16,6 +16,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <limits.h>
+#include <paths.h>
 #ifndef __NetBSD__
 #include <mntent.h>
 #endif
@@ -95,10 +96,12 @@
                goto out_restore;
        }
        if (res == 0) {
+               char *env = NULL;
+
                sigprocmask(SIG_SETMASK, &oldmask, NULL);
                setuid(geteuid());
-               execl("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
-                     "-f", "-t", type, "-o", opts, fsname, mnt, NULL);
+               execle("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
+                      "-f", "-t", type, "-o", opts, fsname, mnt, NULL, &env);
                fprintf(stderr, "%s: failed to execute /bin/mount: %s\n",
                        progname, strerror(errno));
                exit(1);
@@ -146,10 +149,17 @@
                goto out_restore;
        }
        if (res == 0) {
+               char *env = NULL;
+
                sigprocmask(SIG_SETMASK, &oldmask, NULL);
                setuid(geteuid());
-               execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
-                     lazy ? "-l" : NULL, NULL);
+               if (lazy) {
+                       execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
+                              "-l", NULL, &env);
+               } else {
+                       execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
+                              NULL, &env);
+               }
                fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
                        progname, strerror(errno));
                exit(1);
@@ -205,10 +215,12 @@
                goto out_restore;
        }
        if (res == 0) {
+               char *env = NULL;
+
                sigprocmask(SIG_SETMASK, &oldmask, NULL);
                setuid(geteuid());
-               execl("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
-                     "--fake", mnt, NULL);
+               execle("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
+                      "--fake", mnt, NULL, &env);
                fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
                        progname, strerror(errno));
                exit(1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/m4/libtool.m4 new/fuse-2.9.4/m4/libtool.m4
--- old/fuse-2.9.3/m4/libtool.m4        2013-02-18 14:43:54.000000000 +0100
+++ new/fuse-2.9.4/m4/libtool.m4        2015-05-22 11:16:26.000000000 +0200
@@ -1312,7 +1312,7 @@
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
@@ -1326,7 +1326,10 @@
          x86_64-*linux*)
            LD="${LD-ld} -m elf_i386"
            ;;
-         ppc64-*linux*|powerpc64-*linux*)
+         powerpc64le-*linux*)
+           LD="${LD-ld} -m elf32lppclinux"
+           ;;
+         powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
            ;;
          s390x-*linux*)
@@ -1345,7 +1348,10 @@
          x86_64-*linux*)
            LD="${LD-ld} -m elf_x86_64"
            ;;
-         ppc*-*linux*|powerpc*-*linux*)
+         powerpcle-*linux*)
+           LD="${LD-ld} -m elf64lppc"
+           ;;
+         powerpc-*linux*)
            LD="${LD-ld} -m elf64ppc"
            ;;
          s390*-*linux*|s390*-*tpf*)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/missing new/fuse-2.9.4/missing
--- old/fuse-2.9.3/missing      2013-02-18 14:44:00.000000000 +0100
+++ new/fuse-2.9.4/missing      2015-05-22 11:16:32.000000000 +0200
@@ -1,10 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-01-06.18; # UTC
+scriptversion=2012-06-26.16; # UTC
 
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <[email protected]>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,61 +29,33 @@
   exit 1
 fi
 
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, 'missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
+case $1 in
 
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file 'aclocal.m4'
-  autoconf     touch file 'configure'
-  autoheader   touch file 'config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all 'Makefile.in' files
-  bison        create 'y.tab.[ch]', if possible, from existing .[ch]
-  flex         create 'lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create 'lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create 'y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
@@ -98,228 +70,141 @@
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown '$1' option"
+    echo 1>&2 "$0: unknown '$1' option"
     echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
 
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running '$TOOL --version' or '$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified 'acinclude.m4' or '${configure_ac}'.  You might want
-         to install the Automake and Perl packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified '${configure_ac}'.  You might want to install the
-         Autoconf and GNU m4 packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified 'acconfig.h' or '${configure_ac}'.  You might want
-         to install the Autoconf and GNU m4 packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' 
${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
 
-  automake*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
-         You might want to install the Automake and Perl packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: '$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get '$1' as part of Autoconf from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: '$1' $msg.  You should only need it if
-         you modified a '.y' file.  You may need the Bison package
-         in order for those modifications to take effect.  You can get
-         Bison from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified a '.l' file.  You may need the Flex package
-         in order for those modifications to take effect.  You can get
-         Flex from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        Help2man package in order for those modifications to take
-        effect.  You can get Help2man from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: '$1' is $msg.  You should only need it if
-         you modified a '.texi' or '.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy 'make' (AIX,
-         DU, IRIX).  You might want to install the Texinfo package or
-         the GNU make package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: '$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the 'README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing '$1' program."
-    exit 1
-    ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'automa4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/util/fusermount.c new/fuse-2.9.4/util/fusermount.c
--- old/fuse-2.9.3/util/fusermount.c    2013-07-01 09:25:36.000000000 +0200
+++ new/fuse-2.9.4/util/fusermount.c    2015-05-22 11:13:33.000000000 +0200
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <pwd.h>
+#include <paths.h>
 #include <mntent.h>
 #include <sys/wait.h>
 #include <sys/stat.h>
@@ -809,7 +810,7 @@
        if (res == -1)
                goto err;
 
-       sprintf(d, "fd=%i,rootmode=%o,user_id=%i,group_id=%i",
+       sprintf(d, "fd=%i,rootmode=%o,user_id=%u,group_id=%u",
                fd, rootmode, getuid(), getgid());
 
        if (check_empty &&
@@ -850,7 +851,7 @@
        }
        if (res == -1 && errno == EINVAL) {
                /* It could be an old version not supporting group_id */
-               sprintf(d, "fd=%i,rootmode=%o,user_id=%i",
+               sprintf(d, "fd=%i,rootmode=%o,user_id=%u",
                        fd, rootmode, getuid());
                res = mount(source, mnt, type, flags, optbuf);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fuse-2.9.3/util/mount_util.c new/fuse-2.9.4/util/mount_util.c
--- old/fuse-2.9.3/util/mount_util.c    2013-07-01 10:02:18.000000000 +0200
+++ new/fuse-2.9.4/util/mount_util.c    2015-05-22 11:01:27.000000000 +0200
@@ -16,6 +16,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <limits.h>
+#include <paths.h>
 #ifndef __NetBSD__
 #include <mntent.h>
 #endif
@@ -95,10 +96,12 @@
                goto out_restore;
        }
        if (res == 0) {
+               char *env = NULL;
+
                sigprocmask(SIG_SETMASK, &oldmask, NULL);
                setuid(geteuid());
-               execl("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
-                     "-f", "-t", type, "-o", opts, fsname, mnt, NULL);
+               execle("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
+                      "-f", "-t", type, "-o", opts, fsname, mnt, NULL, &env);
                fprintf(stderr, "%s: failed to execute /bin/mount: %s\n",
                        progname, strerror(errno));
                exit(1);
@@ -146,10 +149,17 @@
                goto out_restore;
        }
        if (res == 0) {
+               char *env = NULL;
+
                sigprocmask(SIG_SETMASK, &oldmask, NULL);
                setuid(geteuid());
-               execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
-                     lazy ? "-l" : NULL, NULL);
+               if (lazy) {
+                       execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
+                              "-l", NULL, &env);
+               } else {
+                       execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
+                              NULL, &env);
+               }
                fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
                        progname, strerror(errno));
                exit(1);
@@ -205,10 +215,12 @@
                goto out_restore;
        }
        if (res == 0) {
+               char *env = NULL;
+
                sigprocmask(SIG_SETMASK, &oldmask, NULL);
                setuid(geteuid());
-               execl("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
-                     "--fake", mnt, NULL);
+               execle("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
+                      "--fake", mnt, NULL, &env);
                fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
                        progname, strerror(errno));
                exit(1);


Reply via email to