Please unblock fuse 2.7.4-1
Hello,
Please find attached the whole diff between fuse 2.7.3-5.1 and the
current unstable package.
All hunks from kernel/* can be ignored because we don't use fuse kernel
source in Debian.
In fact the only interresting changes ares theses one:
Upstream fix:
diff -Nur fuse-2.7.3/lib/fuse.c fuse-2.7.4/lib/fuse.c
--- fuse-2.7.3/lib/fuse.c 2008-02-19 20:51:25.000000000 +0100
+++ fuse-2.7.4/lib/fuse.c 2008-07-25 20:17:21.000000000 +0200
@@ -2097,6 +2097,7 @@
}
} else {
reply_err(req, err);
+ pthread_mutex_destroy(&dh->lock);
free(dh);
}
free(path);
Packaging fix (/dev/fuse doens't belong to group fuse on the first
install if fuse kernel module is not loaded already):
diff -Nur fuse-2.7.3/debian/fuse-utils.fuse.init
fuse-2.7.4/debian/fuse-utils.fuse.init
--- fuse-2.7.3/debian/fuse-utils.fuse.init 2008-09-16
09:43:35.000000000 +0200
+++ fuse-2.7.4/debian/fuse-utils.fuse.init 2008-09-16
09:54:00.043882531 +0200
@@ -34,6 +34,14 @@
# 2 if fusectl filesystem mount failed
if ! grep -qw fuse /proc/filesystems; then
modprobe fuse >/dev/null 2>&1 || return 1
+ # Dirty fix for #473545
+ #
+ # In fact the postinst script will fail at the first
+ # install if you don't have fuse kernel module loaded.
+ # (module not loaded -> no /dev/fuse -> postinst noop)
+ # Let's fix it their for now, if someone has a better idea
+ # please re-open #473545.
+ test -e /dev/fuse && chgrp fuse /dev/fuse
fi
if grep -qw fusectl /proc/filesystems && \
! grep -qw $MOUNTPOINT /proc/mounts; then
diff -Nur fuse-2.7.3/debian/fuse-utils.postinst
fuse-2.7.4/debian/fuse-utils.postinst
--- fuse-2.7.3/debian/fuse-utils.postinst 2008-09-16
09:43:35.000000000 +0200
+++ fuse-2.7.4/debian/fuse-utils.postinst 2008-09-16
09:57:57.319890306 +0200
@@ -31,6 +31,12 @@
# Once fuse-utils is installed the group exists and udev will
set proper
# group. The bug may come from udev, or base system, which use a
group
# that doens't exist. For now, let's workaround this issue here.
+ # Follow-up for #473545
+ # A hack has been added to initscript for the first time
installation
+ # if tyou don't have fuse kernel module already loaded
+ # Moreover we need to reload udev before chgrp, otherwise fuse group
+ # is not known
+ invoke-rc.d udev reload
test -e /dev/fuse && chgrp fuse /dev/fuse
fi
Thanks in advance,
Best regards, Adam.
diff -Nur fuse-2.7.3/ChangeLog fuse-2.7.4/ChangeLog
--- fuse-2.7.3/ChangeLog 2008-02-19 20:51:21.000000000 +0100
+++ fuse-2.7.4/ChangeLog 2008-07-25 20:17:20.000000000 +0200
@@ -1,3 +1,16 @@
+2008-07-25 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Released 2.7.4
+
+2008-07-25 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Update kernel module to compile with 2.6.26
+
+2008-03-19 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Fix missing pthread_mutex_destroy in error path of
+ fuse_lib_opendir(). Patch by Szabolcs Szakacsits
+
2008-02-19 Miklos Szeredi <miklos@szeredi.hu>
* Released 2.7.3
diff -Nur fuse-2.7.3/configure fuse-2.7.4/configure
--- fuse-2.7.3/configure 2008-02-19 21:00:42.000000000 +0100
+++ fuse-2.7.4/configure 2008-07-25 20:19:05.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for fuse 2.7.3.
+# Generated by GNU Autoconf 2.61 for fuse 2.7.4.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -721,8 +721,8 @@
# Identity of this package.
PACKAGE_NAME='fuse'
PACKAGE_TARNAME='fuse'
-PACKAGE_VERSION='2.7.3'
-PACKAGE_STRING='fuse 2.7.3'
+PACKAGE_VERSION='2.7.4'
+PACKAGE_STRING='fuse 2.7.4'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
@@ -1390,7 +1390,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 fuse 2.7.3 to adapt to many kinds of systems.
+\`configure' configures fuse 2.7.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1461,7 +1461,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse 2.7.3:";;
+ short | recursive ) echo "Configuration of fuse 2.7.4:";;
esac
cat <<\_ACEOF
@@ -1567,7 +1567,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse configure 2.7.3
+fuse configure 2.7.4
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1581,7 +1581,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by fuse $as_me 2.7.3, which was
+It was created by fuse $as_me 2.7.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2377,7 +2377,7 @@
# Define the identity of the package.
PACKAGE='fuse'
- VERSION='2.7.3'
+ VERSION='2.7.4'
cat >>confdefs.h <<_ACEOF
@@ -12778,7 +12778,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by fuse $as_me 2.7.3, which was
+This file was extended by fuse $as_me 2.7.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12831,7 +12831,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-fuse config.status 2.7.3
+fuse config.status 2.7.4
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -Nur fuse-2.7.3/configure.in fuse-2.7.4/configure.in
--- fuse-2.7.3/configure.in 2008-02-19 20:51:21.000000000 +0100
+++ fuse-2.7.4/configure.in 2008-07-25 20:17:20.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(fuse, 2.7.3)
+AC_INIT(fuse, 2.7.4)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(include/config.h)
diff -Nur fuse-2.7.3/debian/changelog fuse-2.7.4/debian/changelog
--- fuse-2.7.3/debian/changelog 2008-09-16 09:43:35.000000000 +0200
+++ fuse-2.7.4/debian/changelog 2008-09-16 10:01:05.255881683 +0200
@@ -1,3 +1,11 @@
+fuse (2.7.4-1) unstable; urgency=low
+
+ * Ack NMU from Thomas Viehmann, thanks.
+ * New upstream release.
+ * Really fix /dev/fuse to use fuse group (Closes: #473545).
+
+ -- Adam Cécile (Le_Vert) <gandalf@le-vert.net> Tue, 16 Sep 2008 09:43:52 +0200
+
fuse (2.7.3-5.1) unstable; urgency=low
* Non-maintainer upload coordinated with Bartosz..
diff -Nur fuse-2.7.3/debian/fuse-utils.fuse.init fuse-2.7.4/debian/fuse-utils.fuse.init
--- fuse-2.7.3/debian/fuse-utils.fuse.init 2008-09-16 09:43:35.000000000 +0200
+++ fuse-2.7.4/debian/fuse-utils.fuse.init 2008-09-16 09:54:00.043882531 +0200
@@ -34,6 +34,14 @@
# 2 if fusectl filesystem mount failed
if ! grep -qw fuse /proc/filesystems; then
modprobe fuse >/dev/null 2>&1 || return 1
+ # Dirty fix for #473545
+ #
+ # In fact the postinst script will fail at the first
+ # install if you don't have fuse kernel module loaded.
+ # (module not loaded -> no /dev/fuse -> postinst noop)
+ # Let's fix it their for now, if someone has a better idea
+ # please re-open #473545.
+ test -e /dev/fuse && chgrp fuse /dev/fuse
fi
if grep -qw fusectl /proc/filesystems && \
! grep -qw $MOUNTPOINT /proc/mounts; then
diff -Nur fuse-2.7.3/debian/fuse-utils.postinst fuse-2.7.4/debian/fuse-utils.postinst
--- fuse-2.7.3/debian/fuse-utils.postinst 2008-09-16 09:43:35.000000000 +0200
+++ fuse-2.7.4/debian/fuse-utils.postinst 2008-09-16 09:57:57.319890306 +0200
@@ -31,6 +31,12 @@
# Once fuse-utils is installed the group exists and udev will set proper
# group. The bug may come from udev, or base system, which use a group
# that doens't exist. For now, let's workaround this issue here.
+ # Follow-up for #473545
+ # A hack has been added to initscript for the first time installation
+ # if tyou don't have fuse kernel module already loaded
+ # Moreover we need to reload udev before chgrp, otherwise fuse group
+ # is not known
+ invoke-rc.d udev reload
test -e /dev/fuse && chgrp fuse /dev/fuse
fi
diff -Nur fuse-2.7.3/kernel/configure fuse-2.7.4/kernel/configure
--- fuse-2.7.3/kernel/configure 2008-02-19 21:00:19.000000000 +0100
+++ fuse-2.7.4/kernel/configure 2008-07-25 20:18:29.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for fuse-kernel 2.7.3.
+# Generated by GNU Autoconf 2.61 for fuse-kernel 2.7.4.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -572,8 +572,8 @@
# Identity of this package.
PACKAGE_NAME='fuse-kernel'
PACKAGE_TARNAME='fuse-kernel'
-PACKAGE_VERSION='2.7.3'
-PACKAGE_STRING='fuse-kernel 2.7.3'
+PACKAGE_VERSION='2.7.4'
+PACKAGE_STRING='fuse-kernel 2.7.4'
PACKAGE_BUGREPORT=''
ac_subst_vars='SHELL
@@ -1130,7 +1130,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 fuse-kernel 2.7.3 to adapt to many kinds of systems.
+\`configure' configures fuse-kernel 2.7.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1191,7 +1191,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse-kernel 2.7.3:";;
+ short | recursive ) echo "Configuration of fuse-kernel 2.7.4:";;
esac
cat <<\_ACEOF
@@ -1266,7 +1266,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse-kernel configure 2.7.3
+fuse-kernel configure 2.7.4
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1280,7 +1280,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by fuse-kernel $as_me 2.7.3, which was
+It was created by fuse-kernel $as_me 2.7.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2487,7 +2487,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by fuse-kernel $as_me 2.7.3, which was
+This file was extended by fuse-kernel $as_me 2.7.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2536,7 +2536,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-fuse-kernel config.status 2.7.3
+fuse-kernel config.status 2.7.4
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -Nur fuse-2.7.3/kernel/configure.ac fuse-2.7.4/kernel/configure.ac
--- fuse-2.7.3/kernel/configure.ac 2008-02-19 20:51:24.000000000 +0100
+++ fuse-2.7.4/kernel/configure.ac 2008-07-25 20:17:20.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(fuse-kernel, 2.7.3)
+AC_INIT(fuse-kernel, 2.7.4)
AC_CONFIG_HEADERS([config.h])
AC_PROG_INSTALL
diff -Nur fuse-2.7.3/kernel/fuse_i.h fuse-2.7.4/kernel/fuse_i.h
--- fuse-2.7.3/kernel/fuse_i.h 2008-02-19 20:51:24.000000000 +0100
+++ fuse-2.7.4/kernel/fuse_i.h 2008-07-25 20:17:21.000000000 +0200
@@ -51,6 +51,9 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
# define KERNEL_2_6_24_PLUS
#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
+# define KERNEL_2_6_25_PLUS
+#endif
#if defined(__arm__) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
#define DCACHE_BUG
diff -Nur fuse-2.7.3/kernel/inode.c fuse-2.7.4/kernel/inode.c
--- fuse-2.7.3/kernel/inode.c 2008-02-19 20:51:24.000000000 +0100
+++ fuse-2.7.4/kernel/inode.c 2008-07-25 20:17:21.000000000 +0200
@@ -85,10 +85,12 @@
kmem_cache_free(fuse_inode_cachep, inode);
}
+#ifndef KERNEL_2_6_25_PLUS
static void fuse_read_inode(struct inode *inode)
{
/* No op */
}
+#endif
void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req,
unsigned long nodeid, u64 nlookup)
@@ -690,7 +692,9 @@
static struct super_operations fuse_super_operations = {
.alloc_inode = fuse_alloc_inode,
.destroy_inode = fuse_destroy_inode,
+#ifndef KERNEL_2_6_25_PLUS
.read_inode = fuse_read_inode,
+#endif
.clear_inode = fuse_clear_inode,
.drop_inode = generic_delete_inode,
.remount_fs = fuse_remount_fs,
@@ -944,11 +948,16 @@
}
#endif
+#ifdef KERNEL_2_6_25_PLUS
+static struct kobject *fuse_kobj;
+static struct kobject *connections_kobj;
+#else
#ifndef HAVE_FS_SUBSYS
static decl_subsys(fs, NULL, NULL);
#endif
static decl_subsys(fuse, NULL, NULL);
static decl_subsys(connections, NULL, NULL);
+#endif
#ifdef KERNEL_2_6_24_PLUS
static void fuse_inode_init_once(struct kmem_cache *cachep, void *foo)
@@ -1015,6 +1024,25 @@
{
int err;
+#ifdef KERNEL_2_6_25_PLUS
+ fuse_kobj = kobject_create_and_add("fuse", fs_kobj);
+ if (!fuse_kobj) {
+ err = -ENOMEM;
+ goto out_err;
+ }
+
+ connections_kobj = kobject_create_and_add("connections", fuse_kobj);
+ if (!connections_kobj) {
+ err = -ENOMEM;
+ goto out_fuse_unregister;
+ }
+
+ return 0;
+
+ out_fuse_unregister:
+ kobject_put(fuse_kobj);
+ out_err:
+#else
#ifndef HAVE_FS_SUBSYS
err = subsystem_register(&fs_subsys);
if (err)
@@ -1046,16 +1074,22 @@
#ifndef HAVE_FS_SUBSYS
subsystem_unregister(&fs_subsys);
#endif
+#endif
return err;
}
static void fuse_sysfs_cleanup(void)
{
+#ifdef KERNEL_2_6_25_PLUS
+ kobject_put(connections_kobj);
+ kobject_put(fuse_kobj);
+#else
subsystem_unregister(&connections_subsys);
subsystem_unregister(&fuse_subsys);
#ifndef HAVE_FS_SUBSYS
subsystem_unregister(&fs_subsys);
#endif
+#endif
}
static int __init fuse_init(void)
diff -Nur fuse-2.7.3/lib/fuse.c fuse-2.7.4/lib/fuse.c
--- fuse-2.7.3/lib/fuse.c 2008-02-19 20:51:25.000000000 +0100
+++ fuse-2.7.4/lib/fuse.c 2008-07-25 20:17:21.000000000 +0200
@@ -2097,6 +2097,7 @@
}
} else {
reply_err(req, err);
+ pthread_mutex_destroy(&dh->lock);
free(dh);
}
free(path);
diff -Nur fuse-2.7.3/lib/Makefile.am fuse-2.7.4/lib/Makefile.am
--- fuse-2.7.3/lib/Makefile.am 2008-02-19 20:51:24.000000000 +0100
+++ fuse-2.7.4/lib/Makefile.am 2008-07-25 20:17:21.000000000 +0200
@@ -34,7 +34,7 @@
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:7:3 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:7:4 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
diff -Nur fuse-2.7.3/lib/Makefile.in fuse-2.7.4/lib/Makefile.in
--- fuse-2.7.3/lib/Makefile.in 2008-02-19 21:00:54.000000000 +0100
+++ fuse-2.7.4/lib/Makefile.in 2008-07-25 20:19:22.000000000 +0200
@@ -230,7 +230,7 @@
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:7:3 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:7:4 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
Reply to: