[meego-commits] 5805: Changes to Trunk/fuse
Anas Nashif
nashif at linux.intel.com
Fri Jul 16 15:25:28 UTC 2010
Hi,
I have made the following changes to fuse in project Trunk. Please review and accept ASAP.
Thank You,
Anas Nashif
[This message was auto-generated]
---
Request #5805:
submit: Trunk:Testing/fuse(r5) -> Trunk/fuse
Message:
Move to Trunk
State: new 2010-07-16T03:20:01 nashif
Comment: None
changes files:
--------------
--- fuse.changes
+++ fuse.changes
@@ -0,0 +1,3 @@
+* Thu Jul 15 2010 Anas Nashif <anas.nashif at intel.com> - 2.8.4
+- Install udev rules in /lib/udev (bmc #3424)
+
old:
----
fuse-2.8.3.tar.gz
new:
----
fuse-2.8.4.tar.gz
spec files:
-----------
--- fuse.spec
+++ fuse.spec
@@ -1,13 +1,13 @@
#
-# Do not Edit! Generated by:
-# spectacle version 0.13~pre
+# Do NOT Edit the Auto-generated Part!
+# Generated by: spectacle version 0.19~pre
#
# >> macros
# << macros
Name: fuse
Summary: File System in Userspace (FUSE) utilities
-Version: 2.8.3
+Version: 2.8.4
Release: 1
Group: System/Base
License: LGPLv2+
@@ -21,7 +21,6 @@
Patch2: fuse-chkconfig_support.diff
Requires: which
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
With FUSE it is possible to implement a fully functional filesystem in a
@@ -56,14 +55,19 @@
%prep
%setup -q -n %{name}-%{version}
+
+# fuse-udev_rules.patch
%patch0 -p1
+# fuse-openfix.patch
%patch1 -p1
+# fuse-chkconfig_support.diff
%patch2 -p1
# >> setup
# << setup
%build
# >> build pre
+export UDEV_RULES_PATH=/lib/udev/rules.d
# << build pre
%configure --disable-static \
@@ -71,7 +75,6 @@
--bindir=/bin \
--exec-prefix=/
-# Call make instruction with smp support
make %{?jobs:-j%jobs}
# >> build post
@@ -81,17 +84,18 @@
# >> install pre
# << install pre
%make_install
-mkdir -p %{buildroot}%{_sysconfdir}/udev/makedev.d
-cp -a %{SOURCE1} %{buildroot}%{_sysconfdir}/udev/makedev.d
-mkdir -p %{buildroot}%{_sysconfdir}/makedev.d
-cp -a %{SOURCE2} %{buildroot}%{_sysconfdir}/makedev.d
+mkdir -p %{buildroot}/lib/udev/makedev.d
+cp -a %{SOURCE1} %{buildroot}/lib/udev/makedev.d
+mkdir -p %{buildroot}/etc/makedev.d
+cp -a %{SOURCE2} %{buildroot}/etc/makedev.d
# >> install post
# << install post
-%clean
-rm -rf %{buildroot}
+
+
+
@@ -111,8 +115,8 @@
/bin/ulockmgr_server
%{_sysconfdir}/init.d/fuse
%{_sysconfdir}/makedev.d/z-fuse
-%config %{_sysconfdir}/udev/rules.d/99-fuse.rules
-%config %{_sysconfdir}/udev/makedev.d/99-fuse.nodes
+%config /lib/udev/rules.d/99-fuse.rules
+%config /lib/udev/makedev.d/99-fuse.nodes
# << files
other changes:
--------------
++++++ fuse-2.8.3.tar.gz -> fuse-2.8.4.tar.gz
--- ChangeLog
+++ ChangeLog
@@ -1,3 +1,23 @@
+2010-04-26 Miklos Szeredi <miklos at szeredi.hu>
+
+ * Released 2.8.4
+
+2010-04-26 Miklos Szeredi <miklos at szeredi.hu>
+
+ * Fix checking for symlinks in umount from /tmp. Reported by Al
+ Viro
+
+ * Fix umounting if /tmp is a symlink. Reported by Franco Broi
+
+2010-02-18 Miklos Szeredi <miklos at szeredi.hu>
+
+ * Fix definition of FUSE_OPT_END for C++. Reported by Tim
+ Bruylants
+
+2010-02-03 Miklos Szeredi <miklos at szeredi.hu>
+
+ * Fix stack alignment for clone()
+
2010-02-01 Miklos Szeredi <miklos at szeredi.hu>
* Released 2.8.3
--- configure
+++ configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for fuse 2.8.3.
+# Generated by GNU Autoconf 2.63 for fuse 2.8.4.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@
# Identity of this package.
PACKAGE_NAME='fuse'
PACKAGE_TARNAME='fuse'
-PACKAGE_VERSION='2.8.3'
-PACKAGE_STRING='fuse 2.8.3'
+PACKAGE_VERSION='2.8.4'
+PACKAGE_STRING='fuse 2.8.4'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
@@ -1488,7 +1488,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.8.3 to adapt to many kinds of systems.
+\`configure' configures fuse 2.8.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1559,7 +1559,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse 2.8.3:";;
+ short | recursive ) echo "Configuration of fuse 2.8.4:";;
esac
cat <<\_ACEOF
@@ -1667,7 +1667,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse configure 2.8.3
+fuse configure 2.8.4
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1681,7 +1681,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.8.3, which was
+It was created by fuse $as_me 2.8.4, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2657,7 +2657,7 @@
# Define the identity of the package.
PACKAGE='fuse'
- VERSION='2.8.3'
+ VERSION='2.8.4'
cat >>confdefs.h <<_ACEOF
@@ -14152,7 +14152,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.8.3, which was
+This file was extended by fuse $as_me 2.8.4, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14215,7 +14215,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-fuse config.status 2.8.3
+fuse config.status 2.8.4
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
--- configure.in
+++ configure.in
@@ -1,4 +1,4 @@
-AC_INIT(fuse, 2.8.3)
+AC_INIT(fuse, 2.8.4)
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
--- include/fuse_lowlevel.h
+++ include/fuse_lowlevel.h
@@ -411,6 +411,7 @@
*
* Valid replies:
* fuse_reply_buf
+ * fuse_reply_iov
* fuse_reply_err
*
* @param req request handle
--- include/fuse_opt.h
+++ include/fuse_opt.h
@@ -100,7 +100,7 @@
* Last option. An array of 'struct fuse_opt' must end with a NULL
* template value
*/
-#define FUSE_OPT_END { .templ = NULL }
+#define FUSE_OPT_END { NULL, 0, 0 }
/**
* Argument list
--- lib/Makefile.am
+++ lib/Makefile.am
@@ -35,7 +35,7 @@
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:3 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:4 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
--- lib/Makefile.in
+++ lib/Makefile.in
@@ -261,7 +261,7 @@
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:3 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:4 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
--- util/fusermount.c
+++ util/fusermount.c
@@ -41,8 +41,8 @@
#ifndef MS_REC
#define MS_REC 16384
#endif
-#ifndef MS_SLAVE
-#define MS_SLAVE (1<<19)
+#ifndef MS_PRIVATE
+#define MS_PRIVATE (1<<18)
#endif
static const char *progname;
@@ -200,15 +200,16 @@
* killed for any reason, mounts are automatically cleaned up.
*
* First make sure nothing is propagated back into the parent
- * namespace by marking all mounts "slave".
+ * namespace by marking all mounts "private".
*
* Then bind mount parent onto a stable base where the user can't move
- * it around. Use "/tmp", since it will almost certainly exist, but
- * anything similar would do as well.
+ * it around.
*
* Finally check /proc/mounts for an entry matching the requested
* mountpoint. If it's found then we are OK, and the user can't move
- * it around within the parent directory as rename() will return EBUSY.
+ * it around within the parent directory as rename() will return
+ * EBUSY. Be careful to ignore any mounts that existed before the
+ * bind.
*/
static int check_is_mount_child(void *p)
{
@@ -220,21 +221,27 @@
int found;
FILE *fp;
struct mntent *entp;
+ int count;
- res = mount("", "/", "", MS_SLAVE | MS_REC, NULL);
+ res = mount("", "/", "", MS_PRIVATE | MS_REC, NULL);
if (res == -1) {
- fprintf(stderr, "%s: failed to mark mounts slave: %s\n",
+ fprintf(stderr, "%s: failed to mark mounts private: %s\n",
progname, strerror(errno));
return 1;
}
- res = mount(".", "/tmp", "", MS_BIND | MS_REC, NULL);
- if (res == -1) {
- fprintf(stderr, "%s: failed to bind parent to /tmp: %s\n",
- progname, strerror(errno));
+ fp = setmntent(procmounts, "r");
+ if (fp == NULL) {
+ fprintf(stderr, "%s: failed to open %s: %s\n", progname,
+ procmounts, strerror(errno));
return 1;
}
+ count = 0;
+ while ((entp = getmntent(fp)) != NULL)
+ count++;
+ endmntent(fp);
+
fp = setmntent(procmounts, "r");
if (fp == NULL) {
fprintf(stderr, "%s: failed to open %s: %s\n", progname,
@@ -242,10 +249,21 @@
return 1;
}
+ res = mount(".", "/", "", MS_BIND | MS_REC, NULL);
+ if (res == -1) {
+ fprintf(stderr, "%s: failed to bind parent to /: %s\n",
+ progname, strerror(errno));
+ return 1;
+ }
+
found = 0;
while ((entp = getmntent(fp)) != NULL) {
- if (strncmp(entp->mnt_dir, "/tmp/", 5) == 0 &&
- strcmp(entp->mnt_dir + 5, last) == 0) {
+ if (count > 0) {
+ count--;
+ continue;
+ }
+ if (entp->mnt_dir[0] == '/' &&
+ strcmp(entp->mnt_dir + 1, last) == 0) {
found = 1;
break;
}
@@ -262,9 +280,8 @@
static pid_t clone_newns(void *a)
{
- long long buf[16384];
- size_t stacksize = sizeof(buf) / 2;
- char *stack = ((char *) buf) + stacksize;
+ char buf[131072];
+ char *stack = buf + (sizeof(buf) / 2 - ((size_t) buf & 15));
#ifdef __ia64__
extern int __clone2(int (*fn)(void *),
@@ -272,8 +289,8 @@
int flags, void *arg, pid_t *ptid,
void *tls, pid_t *ctid);
- return __clone2(check_is_mount_child, stack, stacksize, CLONE_NEWNS, a,
- NULL, NULL, NULL);
+ return __clone2(check_is_mount_child, stack, sizeof(buf) / 2,
+ CLONE_NEWNS, a, NULL, NULL, NULL);
#else
return clone(check_is_mount_child, stack, CLONE_NEWNS, a);
#endif
++++++ fuse.yaml
--- fuse.yaml
+++ fuse.yaml
@@ -1,6 +1,6 @@
Name: fuse
Summary: File System in Userspace (FUSE) utilities
-Version: 2.8.3
+Version: 2.8.4
Release: 1
Group: System/Base
License: LGPLv2+
@@ -8,8 +8,8 @@
Sources:
- http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
ExtraSources:
- - 99-fuse.nodes;%{_sysconfdir}/udev/makedev.d
- - z-fuse;%{_sysconfdir}/makedev.d
+ - 99-fuse.nodes;/lib/udev/makedev.d
+ - z-fuse;/etc/makedev.d
Patches:
- fuse-udev_rules.patch
- fuse-openfix.patch
More information about the MeeGo-commits
mailing list