Hello community,

here is the log from the commit of package bindfs for openSUSE:Factory checked 
in at 2013-12-02 07:19:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bindfs (Old)
 and      /work/SRC/openSUSE:Factory/.bindfs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bindfs"

Changes:
--------
--- /work/SRC/openSUSE:Factory/bindfs/bindfs.changes    2013-08-23 
11:07:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bindfs.new/bindfs.changes       2013-12-02 
07:19:39.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Nov 24 11:14:15 UTC 2013 - [email protected]
+
+- Update to new upstream release 1.12.3
+* Implement fuse_utimens instead of fuse_utime
+
+-------------------------------------------------------------------

Old:
----
  bindfs-1.12.2.tar.xz

New:
----
  bindfs-1.12.3.tar.xz

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

Other differences:
------------------
++++++ bindfs.spec ++++++
--- /var/tmp/diff_new_pack.wEUzFp/_old  2013-12-02 07:19:40.000000000 +0100
+++ /var/tmp/diff_new_pack.wEUzFp/_new  2013-12-02 07:19:40.000000000 +0100
@@ -17,23 +17,23 @@
 
 
 Name:           bindfs
-Version:        1.12.2
+Version:        1.12.3
 Release:        0
 Summary:        Mount Directories to other Locations and alter Permission Bits
 License:        GPL-2.0+
 Group:          System/Filesystems
-Url:            http://code.google.com/p/bindfs/
+Url:            http://bindfs.org/
 
 #Git-Clone:    git://github.com/mpartel/bindfs
-#DL-URL:       http://bindfs.org/downloads/bindfs-1.12.2.tar.gz
+#DL-URL:       http://bindfs.org/downloads/bindfs-1.12.3.tar.gz
 Source:         %name-%version.tar.xz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  pkgconfig
 BuildRequires:  xz
 %if 0%{?suse_version} >= 1140 || 0%{?fedora_version}
-BuildRequires:  pkgconfig(fuse) >= 2.5.3
+BuildRequires:  pkgconfig(fuse) >= 2.6.0
 %else
-BuildRequires:  fuse-devel >= 2.5.3
+BuildRequires:  fuse-devel >= 2.6.0
 %endif
 
 %description

++++++ bindfs-1.12.2.tar.xz -> bindfs-1.12.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/.gitignore new/bindfs-1.12.3/.gitignore
--- old/bindfs-1.12.2/.gitignore        2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/.gitignore        2013-09-23 22:59:23.000000000 +0200
@@ -34,6 +34,7 @@
 
 src/bindfs
 tests/readdir_inode
+tests/utimens_nofollow
 tests/*.log
 tests/internals/test_internals
 tests/internals/*.log
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/ChangeLog new/bindfs-1.12.3/ChangeLog
--- old/bindfs-1.12.2/ChangeLog 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/ChangeLog 2013-09-23 22:59:23.000000000 +0200
@@ -1,7 +1,19 @@
+2013-09-23  Martin Pärtel <martin dot partel at gmail dot com>
+
+       * Use `utimensat` to support settings mtime/atime on symlinks,
+         and with nanosecond precision.
+       * Any "utime" errors when untarring with a modern version of `tar`
+         should now be fixed.
+       * Time modifications seem to no longer get caught in FUSE's
+         attribute cache.
+       * Now using FUSE API version 26.
+       * Released 1.12.3
+
 2013-07-22  Martin Pärtel <martin dot partel at gmail dot com>
 
        * Added --chmod-filter, contributed by Anton Ageev. Thanks!
        * Released 1.12.2
+       * Project home page is now bindfs.org
 
 2013-05-08  Martin Pärtel <martin dot partel at gmail dot com>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/README new/bindfs-1.12.3/README
--- old/bindfs-1.12.2/README    2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/README    2013-09-23 22:59:23.000000000 +0200
@@ -1,5 +1,5 @@
 
-bindfs  -  http://code.google.com/p/bindfs/
+bindfs  -  http://bindfs.org/
 
 -- Overview --
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/configure new/bindfs-1.12.3/configure
--- old/bindfs-1.12.2/configure 2013-07-22 10:17:22.000000000 +0200
+++ new/bindfs-1.12.3/configure 2013-09-23 22:59:27.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for bindfs 1.12.2.
+# Generated by GNU Autoconf 2.68 for bindfs 1.12.3.
 #
 # Report bugs to <[email protected]>.
 #
@@ -570,8 +570,8 @@
 # Identity of this package.
 PACKAGE_NAME='bindfs'
 PACKAGE_TARNAME='bindfs'
-PACKAGE_VERSION='1.12.2'
-PACKAGE_STRING='bindfs 1.12.2'
+PACKAGE_VERSION='1.12.3'
+PACKAGE_STRING='bindfs 1.12.3'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1302,7 +1302,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bindfs 1.12.2 to adapt to many kinds of systems.
+\`configure' configures bindfs 1.12.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1372,7 +1372,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bindfs 1.12.2:";;
+     short | recursive ) echo "Configuration of bindfs 1.12.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1484,7 +1484,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bindfs configure 1.12.2
+bindfs configure 1.12.3
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1762,7 +1762,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bindfs $as_me 1.12.2, which was
+It was created by bindfs $as_me 1.12.3, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -2578,7 +2578,7 @@
 
 # Define the identity of the package.
  PACKAGE='bindfs'
- VERSION='1.12.2'
+ VERSION='1.12.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -11240,7 +11240,7 @@
        LDFLAGS="${LDFLAGS} -framework CoreFoundation"
 fi
 
-my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25"
+my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26"
 my_CFLAGS="$my_CFLAGS -Wall"
 my_LDFLAGS="-pthread"
 
@@ -11403,12 +11403,12 @@
     pkg_cv_fuse_CFLAGS="$fuse_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"fuse >= 2.5.3\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "fuse >= 2.5.3") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"fuse >= 2.6.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fuse >= 2.6.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_fuse_CFLAGS=`$PKG_CONFIG --cflags "fuse >= 2.5.3" 2>/dev/null`
+  pkg_cv_fuse_CFLAGS=`$PKG_CONFIG --cflags "fuse >= 2.6.0" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -11420,12 +11420,12 @@
     pkg_cv_fuse_LIBS="$fuse_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"fuse >= 2.5.3\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "fuse >= 2.5.3") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"fuse >= 2.6.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fuse >= 2.6.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_fuse_LIBS=`$PKG_CONFIG --libs "fuse >= 2.5.3" 2>/dev/null`
+  pkg_cv_fuse_LIBS=`$PKG_CONFIG --libs "fuse >= 2.6.0" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -11446,14 +11446,14 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               fuse_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "fuse >= 2.5.3" 2>&1`
+               fuse_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "fuse >= 2.6.0" 2>&1`
         else
-               fuse_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"fuse >= 2.5.3" 2>&1`
+               fuse_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"fuse >= 2.6.0" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$fuse_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (fuse >= 2.5.3) were not met:
+       as_fn_error $? "Package requirements (fuse >= 2.6.0) were not met:
 
 $fuse_PKG_ERRORS
 
@@ -12022,7 +12022,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bindfs $as_me 1.12.2, which was
+This file was extended by bindfs $as_me 1.12.3, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12088,7 +12088,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-bindfs config.status 1.12.2
+bindfs config.status 1.12.3
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/configure.ac 
new/bindfs-1.12.3/configure.ac
--- old/bindfs-1.12.2/configure.ac      2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/configure.ac      2013-09-23 22:59:23.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([bindfs],[1.12.2],[[email protected]])
+AC_INIT([bindfs],[1.12.3],[[email protected]])
 
 AM_INIT_AUTOMAKE([foreign])
 AM_CONFIG_HEADER(config.h)
@@ -31,7 +31,7 @@
        LDFLAGS="${LDFLAGS} -framework CoreFoundation"
 fi
 
-my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25"
+my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26"
 my_CFLAGS="$my_CFLAGS -Wall"
 my_LDFLAGS="-pthread"
 AC_SUBST([my_CPPFLAGS])
@@ -43,7 +43,7 @@
 AC_CHECK_FUNCS([lsetxattr lgetxattr llistxattr lremovexattr])
 
 # Check for fuse
-PKG_CHECK_MODULES([fuse], [fuse >= 2.5.3])
+PKG_CHECK_MODULES([fuse], [fuse >= 2.6.0])
 
 AC_CONFIG_FILES([Makefile \
        src/Makefile \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/releasescript/.gitignore 
new/bindfs-1.12.3/releasescript/.gitignore
--- old/bindfs-1.12.2/releasescript/.gitignore  2013-07-22 10:17:18.000000000 
+0200
+++ new/bindfs-1.12.3/releasescript/.gitignore  2013-09-23 22:59:23.000000000 
+0200
@@ -1,5 +1,2 @@
 /bindfs-*.tar.gz
-/bindfs.1
-/bindfs.1.html
-/bindfs-ChangeLog.txt
-/bindfs-help.txt
+/docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/releasescript/makerelease.sh 
new/bindfs-1.12.3/releasescript/makerelease.sh
--- old/bindfs-1.12.2/releasescript/makerelease.sh      2013-07-22 
10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/releasescript/makerelease.sh      2013-09-23 
22:59:23.000000000 +0200
@@ -36,11 +36,12 @@
 tar cvzf "bindfs-${VERSION}.tar.gz" "bindfs-$VERSION"
 
 # Get the change log and man-page
-cp "bindfs-$VERSION/ChangeLog" ./bindfs-ChangeLog.txt
-cp "bindfs-$VERSION/src/bindfs.1" ./bindfs.1
+mkdir -p ./docs
+cp "bindfs-$VERSION/ChangeLog" ./docs/ChangeLog.utf8.txt
+cp "bindfs-$VERSION/src/bindfs.1" ./docs/bindfs.1
 
 # Create the HTML man page
-rman -f HTML -r "" bindfs.1 > bindfs.1.html
+rman -f HTML -r "" docs/bindfs.1 > docs/bindfs.1.html
 
 # Compile the source
 pushd "bindfs-$VERSION"
@@ -49,14 +50,11 @@
 popd
 
 # Get the bindfs --help text
-"bindfs-$VERSION/src/bindfs" --help > bindfs-help.txt
+"bindfs-$VERSION/src/bindfs" --help > docs/bindfs-help.txt
 
 # Copy products to original dir
 cp -r "bindfs-$VERSION.tar.gz" \
-      bindfs-ChangeLog.txt \
-      bindfs.1 \
-      bindfs.1.html \
-      bindfs-help.txt \
+      docs \
       "$OUTPUTDIR/"
 
 # Clean up and we're done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/src/bindfs.1 
new/bindfs-1.12.3/src/bindfs.1
--- old/bindfs-1.12.2/src/bindfs.1      2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/src/bindfs.1      2013-09-23 22:59:23.000000000 +0200
@@ -370,10 +370,8 @@
 permissions on new files. For this reason, as of version 1.11
 bindfs runs in single-threaded mode by default.
 
-Please report bugs to the issue tracker on the project home page at
-\fBhttp://code.google.com/p/bindfs/\fP
-Send patches as pull requests to \fBhttps://github.com/mpartel/bindfs\fP or
-by e-mail to \fBmartin dot partel at gmail dot com\fP.
+Please report bugs and/or send pull requests to
+\fBhttps://github.com/mpartel/bindfs/issues\fP.
 
 
 .SH DEPRECATIONS
@@ -392,5 +390,5 @@
 
 
 .SH SEE ALSO
-\fBchmod\fP(1), \fBfusermount\fP(1)
+\fBchmod\fP(1), \fBfusermount\fP(1), \fBhttp://bindfs.org/\fP
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/src/bindfs.c 
new/bindfs-1.12.3/src/bindfs.c
--- old/bindfs-1.12.2/src/bindfs.c      2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/src/bindfs.c      2013-09-23 22:59:23.000000000 +0200
@@ -31,8 +31,8 @@
 
 #include <config.h>
 
-/* For pread/pwrite and readdir_r */
-#define _XOPEN_SOURCE 500
+/* For >= 500 for pread/pwrite and readdir_r; >= 700 for utimensat */
+#define _XOPEN_SOURCE 700
 
 #include <stdlib.h>
 #include <stddef.h>
@@ -177,7 +177,7 @@
 static int bindfs_truncate(const char *path, off_t size);
 static int bindfs_ftruncate(const char *path, off_t size,
                             struct fuse_file_info *fi);
-static int bindfs_utime(const char *path, struct utimbuf *buf);
+static int bindfs_utimens(const char *path, const struct timespec tv[2]);
 static int bindfs_create(const char *path, mode_t mode, struct fuse_file_info 
*fi);
 static int bindfs_open(const char *path, struct fuse_file_info *fi);
 static int bindfs_read(const char *path, char *buf, size_t size, off_t offset,
@@ -690,13 +690,13 @@
     return 0;
 }
 
-static int bindfs_utime(const char *path, struct utimbuf *buf)
+static int bindfs_utimens(const char *path, const struct timespec tv[2])
 {
     int res;
 
     path = process_path(path);
 
-    res = utime(path, buf);
+    res = utimensat(settings.mntsrc_fd, path, tv, AT_SYMLINK_NOFOLLOW);
     if (res == -1)
         return -errno;
 
@@ -906,7 +906,7 @@
     .chown      = bindfs_chown,
     .truncate   = bindfs_truncate,
     .ftruncate  = bindfs_ftruncate,
-    .utime      = bindfs_utime,
+    .utimens    = bindfs_utimens,
     .create     = bindfs_create,
     .open       = bindfs_open,
     .read       = bindfs_read,
@@ -1597,7 +1597,7 @@
     /* fuse_main will daemonize by fork()'ing. The signal handler will 
persist. */
     setup_signal_handling();
 
-    fuse_main_return = fuse_main(args.argc, args.argv, &bindfs_oper);
+    fuse_main_return = fuse_main(args.argc, args.argv, &bindfs_oper, NULL);
 
     fuse_opt_free_args(&args);
     close(settings.mntsrc_fd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/tests/Makefile.am 
new/bindfs-1.12.3/tests/Makefile.am
--- old/bindfs-1.12.2/tests/Makefile.am 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/tests/Makefile.am 2013-09-23 22:59:23.000000000 +0200
@@ -1,6 +1,7 @@
 
-noinst_PROGRAMS = readdir_inode
+noinst_PROGRAMS = readdir_inode utimens_nofollow
 readdir_inode_SOURCES = readdir_inode.c
+utimens_nofollow_SOURCES = utimens_nofollow.c
 
 TESTS = test_bindfs.rb
 SUBDIRS = internals
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/tests/Makefile.in 
new/bindfs-1.12.3/tests/Makefile.in
--- old/bindfs-1.12.2/tests/Makefile.in 2013-07-22 10:17:23.000000000 +0200
+++ new/bindfs-1.12.3/tests/Makefile.in 2013-09-23 22:59:28.000000000 +0200
@@ -34,7 +34,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-noinst_PROGRAMS = readdir_inode$(EXEEXT)
+noinst_PROGRAMS = readdir_inode$(EXEEXT) utimens_nofollow$(EXEEXT)
 subdir = tests
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -49,6 +49,9 @@
 am_readdir_inode_OBJECTS = readdir_inode.$(OBJEXT)
 readdir_inode_OBJECTS = $(am_readdir_inode_OBJECTS)
 readdir_inode_LDADD = $(LDADD)
+am_utimens_nofollow_OBJECTS = utimens_nofollow.$(OBJEXT)
+utimens_nofollow_OBJECTS = $(am_utimens_nofollow_OBJECTS)
+utimens_nofollow_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -62,8 +65,8 @@
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-SOURCES = $(readdir_inode_SOURCES)
-DIST_SOURCES = $(readdir_inode_SOURCES)
+SOURCES = $(readdir_inode_SOURCES) $(utimens_nofollow_SOURCES)
+DIST_SOURCES = $(readdir_inode_SOURCES) $(utimens_nofollow_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        html-recursive info-recursive install-data-recursive \
        install-dvi-recursive install-exec-recursive \
@@ -229,6 +232,7 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 readdir_inode_SOURCES = readdir_inode.c
+utimens_nofollow_SOURCES = utimens_nofollow.c
 TESTS = test_bindfs.rb
 SUBDIRS = internals
 all: all-recursive
@@ -277,6 +281,9 @@
 readdir_inode$(EXEEXT): $(readdir_inode_OBJECTS) $(readdir_inode_DEPENDENCIES) 
$(EXTRA_readdir_inode_DEPENDENCIES) 
        @rm -f readdir_inode$(EXEEXT)
        $(LINK) $(readdir_inode_OBJECTS) $(readdir_inode_LDADD) $(LIBS)
+utimens_nofollow$(EXEEXT): $(utimens_nofollow_OBJECTS) 
$(utimens_nofollow_DEPENDENCIES) $(EXTRA_utimens_nofollow_DEPENDENCIES) 
+       @rm -f utimens_nofollow$(EXEEXT)
+       $(LINK) $(utimens_nofollow_OBJECTS) $(utimens_nofollow_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -285,6 +292,7 @@
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readdir_inode.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens_nofollow.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ 
$<
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/tests/test_bindfs.rb 
new/bindfs-1.12.3/tests/test_bindfs.rb
--- old/bindfs-1.12.2/tests/test_bindfs.rb      2013-07-22 10:17:18.000000000 
+0200
+++ new/bindfs-1.12.3/tests/test_bindfs.rb      2013-09-23 22:59:23.000000000 
+0200
@@ -371,6 +371,21 @@
     assert { File.stat('mnt/dir/file').gid == $nogroup_gid }
 end
 
+root_testenv("", :title => "utimens on symlinks") do
+    touch('mnt/file')
+    Dir.chdir "mnt" do
+      system('ln -sf file link')
+    end
+    
+    system("#{$tests_dir}/utimens_nofollow mnt/link 12 34 56 78")
+    raise "Failed to run utimens_nofollow: #{$?.inspect}" unless $?.success?
+    
+    assert { File.lstat('mnt/link').atime.to_i < 100 }
+    assert { File.lstat('mnt/link').mtime.to_i < 100 }
+    assert { File.lstat('mnt/file').atime.to_i > 100 }
+    assert { File.lstat('mnt/file').mtime.to_i > 100 }
+end
+
 # FIXME: this stuff around testenv is a hax, and testenv may also exit(), 
which defeats the 'ensure' below.
 # the test setup ought to be refactored. It might well use MiniTest or 
something.
 if Process.uid == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bindfs-1.12.2/tests/utimens_nofollow.c 
new/bindfs-1.12.3/tests/utimens_nofollow.c
--- old/bindfs-1.12.2/tests/utimens_nofollow.c  1970-01-01 01:00:00.000000000 
+0100
+++ new/bindfs-1.12.3/tests/utimens_nofollow.c  2013-09-23 22:59:23.000000000 
+0200
@@ -0,0 +1,32 @@
+
+#define _BSD_SOURCE /* For atoll */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+int main(int argc, char* argv[])
+{
+    struct timespec times[2];
+    
+    if (argc != 6) {
+        fprintf(stderr, "Usage: utimens_nofollow path atime atime_nsec mtime 
mtime_nsec\n");
+        return 1;
+    }
+    
+    times[0].tv_sec = (time_t)atoll(argv[2]);
+    times[0].tv_nsec = atoll(argv[3]);
+    times[1].tv_sec = (time_t)atoll(argv[4]);
+    times[1].tv_nsec = atoll(argv[5]);
+    
+    if (utimensat(AT_FDCWD, argv[1], times, AT_SYMLINK_NOFOLLOW) == -1) {
+        perror("failed to utimensat the given path");
+        return 2;
+    }
+    
+    return 0;
+}

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to