From f1ca0a59d8c2e41942df6ec3fbbf910236aa96cb Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Feb 20 2008 21:44:13 +0000 Subject: Ver. 2.7.3 without fuse usergroup --- diff --git a/.cvsignore b/.cvsignore index d5afd40..aae9e14 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -fuse-2.7.0.tar.gz +fuse-2.7.3.tar.gz diff --git a/fuse-README.fedora b/fuse-README.fedora deleted file mode 100644 index 26034c2..0000000 --- a/fuse-README.fedora +++ /dev/null @@ -1,17 +0,0 @@ -This fuse package for security reasons only allows members of the group "fuse" -to (u)mount fuse filesystems. If you for example want to allow the user "foo" -to mount fuse filesystems you have to add him to the fuse group by running - -# /usr/sbin/usermod -a -G fuse foo - -Or use tools like "system-config-users" to add user "foo" to the fuse group. - -Note that the user has to re-login after he was added to the group. - - -If you don't want to add all users to the fuse group you can also run - -# chmod 4755 /usr/bin/fusermount - -to allow everyone to mount fuse filesystems. You have to re-run that command -after each fuse update. diff --git a/fuse-chkconfig_support.diff b/fuse-chkconfig_support.diff new file mode 100644 index 0000000..a2162d8 --- /dev/null +++ b/fuse-chkconfig_support.diff @@ -0,0 +1,21 @@ +--- util/init_script.patch2 2008-02-19 22:51:28.000000000 +0300 ++++ util/init_script 2008-02-21 00:12:51.000000000 +0300 +@@ -1,11 +1,16 @@ + #! /bin/sh ++ ++# Startup script for fuse ++# ++# chkconfig: 345 25 75 ++ + ### BEGIN INIT INFO + # Provides: fuse + # Required-Start: + # Should-Start: udev + # Required-Stop: +-# Default-Start: S +-# Default-Stop: ++# Default-Start: 3 4 5 ++# Default-Stop: 0 1 2 6 + # Short-Description: Start and stop fuse. + # Description: Load the fuse module and mount the fuse control + # filesystem. diff --git a/fuse-openfix.patch b/fuse-openfix.patch new file mode 100644 index 0000000..c5a0b3d --- /dev/null +++ b/fuse-openfix.patch @@ -0,0 +1,36 @@ +diff -up fuse-2.7.2/lib/fuse.c.BAD fuse-2.7.2/lib/fuse.c +--- lib/fuse.c 2008-01-21 09:55:42.000000000 -0500 ++++ lib/fuse.c 2008-01-21 09:57:20.000000000 -0500 +@@ -633,17 +633,15 @@ static int fuse_compat_open(struct fuse_ + { + int err; + if (!fs->compat || fs->compat >= 25) +- err = fs->op.open(path, fi); ++ err = (fs->op.open)(path, fi); + else if (fs->compat == 22) { + struct fuse_file_info_compat tmp; + memcpy(&tmp, fi, sizeof(tmp)); +- err = ((struct fuse_operations_compat22 *) &fs->op)->open(path, +- &tmp); ++ err = (((struct fuse_operations_compat22 *) &fs->op)->open)(path, &tmp); + memcpy(fi, &tmp, sizeof(tmp)); + fi->fh = tmp.fh; + } else +- err = ((struct fuse_operations_compat2 *) &fs->op) +- ->open(path, fi->flags); ++ err = (((struct fuse_operations_compat2 *) &fs->op)->open)(path, fi->flags); + return err; + } + +diff -up fuse-2.7.2/lib/fuse_lowlevel.c.BAD fuse-2.7.2/lib/fuse_lowlevel.c +--- lib/fuse_lowlevel.c 2008-01-21 09:57:52.000000000 -0500 ++++ lib/fuse_lowlevel.c 2008-01-21 09:58:15.000000000 -0500 +@@ -605,7 +605,7 @@ static void do_open(fuse_req_t req, fuse + fi.flags = arg->flags; + + if (req->f->op.open) +- req->f->op.open(req, nodeid, &fi); ++ (req->f->op.open)(req, nodeid, &fi); + else + fuse_reply_open(req, &fi); + } diff --git a/fuse-udev_rules.patch b/fuse-udev_rules.patch index 6ea1408..91e8399 100644 --- a/fuse-udev_rules.patch +++ b/fuse-udev_rules.patch @@ -2,4 +2,4 @@ +++ util/udev.rules 2005-11-03 19:38:13.000000000 +0100 @@ -1 +1 @@ -KERNEL=="fuse", MODE="0666" -+KERNEL=="fuse", NAME="%k", MODE="0660",OWNER="root",GROUP="fuse" ++KERNEL=="fuse", NAME="%k", MODE="0666",OWNER="root",GROUP="root" diff --git a/fuse.spec b/fuse.spec index cfae6a4..586a1f1 100644 --- a/fuse.spec +++ b/fuse.spec @@ -1,39 +1,38 @@ Name: fuse -Version: 2.7.0 -Release: 6%{?dist} +Version: 2.7.3 +Release: 1%{?dist} Summary: File System in Userspace (FUSE) utilities Group: System Environment/Base -License: GPL +License: GPL+ URL: http://fuse.sf.net Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Source1: fuse-udev.nodes Source2: fuse-makedev.d-fuse -Source3: fuse-README.fedora Patch0: fuse-udev_rules.patch +Patch1: fuse-openfix.patch +Patch2: fuse-chkconfig_support.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: kernel >= 2.6.14 Requires: which -Requires(pre): %{_sbindir}/groupadd -Requires(post): /sbin/MAKEDEV -Requires(postun): %{_sbindir}/groupdel BuildRequires: libselinux-devel +Requires(post): /sbin/chkconfig +Requires(post): /sbin/MAKEDEV +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service +Requires(postun):/sbin/service + %description With FUSE it is possible to implement a fully functional filesystem in a userspace program. This package contains the FUSE userspace tools to mount a FUSE filesystem. -Note: For security reasons only members of the group "fuse" are allowed to -(u)mount fuse filesystems. You can find more details on this issue in -%{_docdir}/%{name}-%{version}/README.fedora - - %package libs Summary: File System in Userspace (FUSE) libraries Group: System Environment/Libraries -License: LGPL +License: LGPLv2+ %description libs Devel With FUSE it is possible to implement a fully functional filesystem in a @@ -45,7 +44,7 @@ Summary: File System in Userspace (FUSE) devel files Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: pkgconfig -License: LGPL +License: LGPLv2+ %description devel With FUSE it is possible to implement a fully functional filesystem in a @@ -57,8 +56,9 @@ pgk-config) to develop FUSE based applications/filesystems. %setup -q #disable device creation during build/install sed -i 's|mknod|echo Disabled: mknod |g' util/Makefile.in -%patch0 -b .patch0 -cp %{SOURCE3} README.fedora +%patch0 -p0 -b .patch0 +%patch1 -p0 -b .patch1 +%patch2 -p0 -b .patch2 %build # Can't pass --disable-static here, or else the utils don't build @@ -95,29 +95,30 @@ ln -s /bin/ulockmgr_server ulockmgr_server %clean rm -rf $RPM_BUILD_ROOT -%pre -if [ $1 -eq 1 ]; then - %{_sbindir}/groupadd -r fuse &>/dev/null || : -fi - %post /sbin/MAKEDEV fuse +/sbin/chkconfig --add fuse -%postun +%preun if [ $1 = 0 ]; then - %{_sbindir}/groupdel fuse || : + /sbin/service fuse stop >/dev/null 2>&1 + /sbin/chkconfig --del fuse +fi + +%postun +if [ "$1" -ge "1" ]; then + /sbin/service fuse condrestart >/dev/null 2>&1 || : fi %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig - %files %defattr(-,root,root,-) -%doc AUTHORS ChangeLog COPYING FAQ Filesystems NEWS README README.NFS README.fedora +%doc AUTHORS ChangeLog COPYING FAQ Filesystems NEWS README README.NFS /sbin/mount.fuse -%attr(4754,root,fuse) /bin/fusermount +/bin/fusermount /bin/ulockmgr_server %{_sysconfdir}/init.d/fuse %{_sysconfdir}/makedev.d/z-fuse @@ -143,16 +144,36 @@ fi %{_includedir}/fuse %changelog +* Wed Feb 20 2008 Peter Lemenkov 2.7.3-1 +- Ver. 2.7.3 +- Removed usergroup fuse +- Added chkconfig support (BZ#228088) + +* Tue Feb 19 2008 Fedora Release Engineering - 2.7.2-2 +- Autorebuild for GCC 4.3 + +* Mon Jan 21 2008 Tom "spot" Callaway 2.7.2-1 +- bump to 2.7.2 +- fix license tag -* Mon Oct 1 2007 Peter Lemenkov 2.7.0-6 +* Sun Nov 4 2007 Tom "spot" Callaway 2.7.0-9 +- fix initscript to work with chkconfig + +* Mon Oct 1 2007 Peter Lemenkov 2.7.0-8 - Added Require: which (BZ#312511) -* Fri Sep 21 2007 Tom "spot" Callaway 2.7.0-5 +* Fri Sep 21 2007 Tom "spot" Callaway 2.7.0-7 - revert udev rules change -* Thu Sep 20 2007 Tom "spot" Callaway 2.7.0-4 +* Thu Sep 20 2007 Tom "spot" Callaway 2.7.0-6 - change udev rules so that /dev/fuse is chmod 666 (bz 298651) +* Wed Aug 29 2007 Tom "spot" Callaway 2.7.0-5 +- fix open issue (bz 265321) + +* Wed Aug 29 2007 Fedora Release Engineering - 2.7.0-4 +- Rebuild for selinux ppc32 issue. + * Sun Jul 22 2007 Tom "spot" Callaway 2.7.0-3 - put pkgconfig file in correct place - enable compat symlinks for files in /bin diff --git a/sources b/sources index b588272..8e6bae6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7c3d52f81816e3a8e0cc2b5822a37e86 fuse-2.7.0.tar.gz +98563fc7b265b7479a3178181cbcf59a fuse-2.7.3.tar.gz