remove fuse3 rpms (they are moved to a fuse3 package)

This commit is contained in:
Dave Dykstra 2019-04-08 13:24:38 -05:00
parent 8e3bddea21
commit 3d2a79d289
7 changed files with 29 additions and 264 deletions

8
.gitignore vendored
View File

@ -7,12 +7,4 @@ fuse-2.8.4.tar.gz
/fuse-2.9.3.tar.gz
/fuse-2.9.4.tar.gz
/fuse-2.9.7.tar.gz
/fuse-3.0.0.tar.gz
/fuse-3.0.2.tar.gz
/fuse-3.1.0.tar.gz
/fuse-3.1.1.tar.gz
/fuse-3.2.1.tar.gz
/fuse-3.2.2.tar.gz
/fuse-3.2.3.tar.gz
/fuse-3.4.2.tar.gz
/fuse-2.9.9.tar.gz

View File

@ -1,2 +0,0 @@
# mount_max = 1000
# user_allow_other

171
fuse.spec
View File

@ -1,61 +1,38 @@
%global fuse2ver 2.9.9
%global fuse2sver 2
%global fuse3ver 3.4.2
Name: fuse
Version: %{fuse2ver}
Release: 2%{?dist}
Version: 2.9.9
Release: 3%{?dist}
Summary: File System in Userspace (FUSE) v2 utilities
License: GPL+
URL: http://fuse.sf.net
#fuse2 sources
Source0: https://github.com/libfuse/libfuse/archive/%{name}-%{fuse2ver}.tar.gz
#fuse3 sources
Source1: https://github.com/libfuse/libfuse/archive/%{name}-%{fuse3ver}.tar.gz
Source2: %{name}.conf
Source0: https://github.com/libfuse/libfuse/releases/download/%{name}-%{version}.tar.gz
Patch1: fuse3-0001-More-parentheses.patch
Patch2: fuse3-0002-disable-device-creation-during-build-install.patch
# https://bugzilla.redhat.com/1694552#c7
# https://github.com/libfuse/libfuse/pull/392
# backported for fuse-3.4.2
Patch3: fuse3-0003-Whitelist-smb2-392.patch
Patch101: fuse2-0001-More-parentheses.patch
Patch1: fuse2-0001-More-parentheses.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=970768
Patch102: fuse2-0002-add-fix-for-namespace-conflict-in-fuse_kernel.h.patch
Patch2: fuse2-0002-add-fix-for-namespace-conflict-in-fuse_kernel.h.patch
# https://github.com/libfuse/libfuse/commit/4f8f034a8969a48f210bf00be78a67cfb6964c72
# backported for fuse2
Patch103: fuse2-0003-make-buffer-size-match-kernel-max-transfer-size.patch
Patch3: fuse2-0003-make-buffer-size-match-kernel-max-transfer-size.patch
# https://bugzilla.redhat.com/1694552#c7
# https://github.com/libfuse/libfuse/pull/392
# backported for fuse2
Patch104: fuse2-0004-Whitelist-SMB2-found-on-some-NAS-devices.patch
Patch4: fuse2-0004-Whitelist-SMB2-found-on-some-NAS-devices.patch
Requires: which
Conflicts: filesystem < 3
BuildRequires: libselinux-devel
BuildRequires: autoconf, automake, libtool, gettext-devel
BuildRequires: meson, ninja-build, systemd-udev
Requires: fuse-common = %{fuse3ver}
BuildRequires: autoconf, automake, libtool, gettext-devel, make
BuildRequires: systemd-udev
# fuse-common 3.4.2-2 and earlier included man pages
Requires: fuse-common > 3.4.2-2
%description
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE v2 userspace tools to
mount a FUSE filesystem.
%package -n fuse3
Version: %{fuse3ver}
Summary: File System in Userspace (FUSE) v3 utilitie
Requires: fuse-common = %{fuse3ver}
%description -n fuse3
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE v3 userspace tools to
mount a FUSE filesystem.
%package libs
Version: %{fuse2ver}
Summary: File System in Userspace (FUSE) v2 libraries
License: LGPLv2+
Conflicts: filesystem < 3
@ -64,20 +41,9 @@ Conflicts: filesystem < 3
Devel With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE v2 libraries.
%package -n fuse3-libs
Version: %{fuse3ver}
Summary: File System in Userspace (FUSE) v3 libraries
License: LGPLv2+
Conflicts: filesystem < 3
%description -n fuse3-libs
Devel With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE v3 libraries.
%package devel
Version: %{fuse2ver}
Summary: File System in Userspace (FUSE) v2 devel files
Requires: %{name}-libs = %{fuse2ver}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: pkgconfig
License: LGPLv2+
Conflicts: filesystem < 3
@ -87,85 +53,31 @@ With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains development files (headers,
pgk-config) to develop FUSE v2 based applications/filesystems.
%package -n fuse3-devel
Version: %{fuse3ver}
Summary: File System in Userspace (FUSE) v3 devel files
Requires: %{name}3-libs = %{fuse3ver}-%{release}
Requires: pkgconfig
License: LGPLv2+
Conflicts: filesystem < 3
%description -n fuse3-devel
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains development files (headers,
pgk-config) to develop FUSE v3 based applications/filesystems.
%package common
Version: %{fuse3ver}
Summary: Common files for File System in Userspace (FUSE) v2 and v3
License: GPL+
%description common
Common files for FUSE v2 and FUSE v3.
%prep
%setup -q -T -c -n fuse2and3 -a0 -a1
%setup
# fuse 3
pushd lib%{name}-%{name}-%{fuse3ver}
%patch1 -p1 -b .add_parentheses
%patch2 -p1 -b .nodev
%patch3 -p1 -b .smb2_whitelist
popd
# fuse 2
pushd %{name}-%{fuse2ver}
# ./makeconf.sh
#disable device creation during build/install
sed -i 's|mknod|echo Disabled: mknod |g' util/Makefile.in
%patch101 -p1 -b .add_parentheses
%patch102 -p1 -b .conflictfix
%patch103 -p1 -b .buffer_size
%patch104 -p1 -b .smb2_whitelist
popd
%patch1 -p1 -b .add_parentheses
%patch2 -p1 -b .conflictfix
%patch3 -p1 -b .buffer_size
%patch4 -p1 -b .smb2_whitelist
%build
# fuse 3
pushd lib%{name}-%{name}-%{fuse3ver}
%meson
%meson_build
%if 0
# Can't pass --disable-static here, or else the utils don't build
export MOUNT_FUSE_PATH="%{_sbindir}"
CFLAGS="%{optflags} -D_GNU_SOURCE" %configure
make %{?_smp_mflags} V=1
%endif
popd
# fuse 2
pushd %{name}-%{fuse2ver}
# Can't pass --disable-static here, or else the utils don't build
export MOUNT_FUSE_PATH="%{_sbindir}"
CFLAGS="%{optflags} -D_GNU_SOURCE" %configure
make %{?_smp_mflags}
popd
%install
# fuse 3
pushd lib%{name}-%{name}-%{fuse3ver}
export MESON_INSTALL_DESTDIR_PREFIX=%{buildroot}/usr %meson_install
popd
find %{buildroot} .
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
# change from 4755 to 0755 to allow stripping -- fixed later in files
chmod 0755 %{buildroot}/%{_bindir}/fusermount3
# fuse 2
pushd %{name}-%{fuse2ver}
install -m 0755 lib/.libs/libfuse.so.%{fuse2ver} %{buildroot}/%{_libdir}
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
install -m 0755 lib/.libs/libfuse.so.%{version} %{buildroot}/%{_libdir}
install -m 0755 lib/.libs/libulockmgr.so.1.0.1 %{buildroot}/%{_libdir}
install -p fuse.pc %{buildroot}/%{_libdir}/pkgconfig/
mkdir -p %{buildroot}/%{_bindir}
install -m 0755 util/fusermount %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_sbindir}
install -m 0755 util/mount.fuse %{buildroot}/%{_sbindir}
install -m 0755 util/ulockmgr_server %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_includedir}/fuse
@ -178,55 +90,32 @@ mkdir -p %{buildroot}/%{_mandir}/man1/
cp -a doc/fusermount.1 doc/ulockmgr_server.1 %{buildroot}/%{_mandir}/man1/
mkdir -p %{buildroot}/%{_mandir}/man8/
cp -a doc/mount.fuse.8 %{buildroot}/%{_mandir}/man8/
popd
pushd %{buildroot}/%{_libdir}
ln -s libfuse.so.%{fuse2ver} libfuse.so.%{fuse2sver}
ln -s libfuse.so.%{fuse2ver} libfuse.so
ln -s libfuse.so.%{version} libfuse.so.%{fuse2sver}
ln -s libfuse.so.%{version} libfuse.so
ln -s libulockmgr.so.1.0.1 libulockmgr.so.1
ln -s libulockmgr.so.1.0.1 libulockmgr.so
popd
# Get rid of static libs
rm -f %{buildroot}/%{_libdir}/*.a
# No need to create init-script
rm -f %{buildroot}%{_sysconfdir}/init.d/fuse3
# Install config-file
install -p -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}
# Delete pointless udev rules, which do not belong in /etc (brc#748204)
rm -f %{buildroot}/usr/lib/udev/rules.d/99-fuse3.rules
%ldconfig_scriptlets libs
%ldconfig_scriptlets -n fuse3-libs
%files
%license fuse-%{fuse2ver}/COPYING
%doc fuse-%{fuse2ver}/AUTHORS fuse-%{fuse2ver}/ChangeLog fuse-%{fuse2ver}/NEWS fuse-%{fuse2ver}/README.md fuse-%{fuse2ver}/README.NFS
%license COPYING
%doc AUTHORS ChangeLog NEWS README.md README.NFS
%{_sbindir}/mount.fuse
%attr(4755,root,root) %{_bindir}/fusermount
%{_bindir}/ulockmgr_server
%files -n fuse3
%license libfuse-fuse-%{fuse3ver}/LICENSE libfuse-fuse-%{fuse3ver}/GPL2.txt
%doc libfuse-fuse-%{fuse3ver}/AUTHORS libfuse-fuse-%{fuse3ver}/ChangeLog.rst libfuse-fuse-%{fuse3ver}/README.md
%{_sbindir}/mount.fuse3
%attr(4755,root,root) %{_bindir}/fusermount3
%files common
%config(noreplace) %{_sysconfdir}/%{name}.conf
%{_mandir}/man1/*
%{_mandir}/man8/*
%files libs
%license fuse-%{fuse2ver}/COPYING.LIB
%license COPYING.LIB
%{_libdir}/libfuse.so.*
%{_libdir}/libulockmgr.so.*
%files -n fuse3-libs
%license libfuse-fuse-%{fuse3ver}/LGPL2.txt
%{_libdir}/libfuse3.so.*
%files devel
%{_libdir}/libfuse.so
%{_libdir}/libulockmgr.so
@ -235,12 +124,10 @@ rm -f %{buildroot}/usr/lib/udev/rules.d/99-fuse3.rules
%{_includedir}/ulockmgr.h
%{_includedir}/fuse
%files -n fuse3-devel
%{_libdir}/libfuse3.so
%{_libdir}/pkgconfig/fuse3.pc
%{_includedir}/fuse3/
%changelog
* Mon Apr 06 2019 Dave Dykstra <dwd@fedoraproject.org> - 2.9.9-3
- Separate fuse3 out into its own package
* Thu Apr 04 2019 Peter Lemenkov <lemenkov@gmail.com> - 2.9.9-2
- Whitelist SMB2 (rhbz#1694552)

View File

@ -1,19 +0,0 @@
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Mon, 9 Aug 2010 12:10:40 +0400
Subject: [PATCH] More parentheses
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/lib/fuse.c b/lib/fuse.c
index a40e995..479736c 100755
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -1759,7 +1759,7 @@ int fuse_fs_open(struct fuse_fs *fs, const char *path,
fprintf(stderr, "open flags: 0x%x %s\n", fi->flags,
path);
- err = fs->op.open(path, fi);
+ err = (fs->op.open)(path, fi);
if (fs->debug && !err)
fprintf(stderr, " open[%llu] flags: 0x%x %s\n",

View File

@ -1,29 +0,0 @@
From: Tom Callaway <spot@fedoraproject.org>
Date: Mon, 25 Mar 2019 15:17:36 -0400
Subject: [PATCH] disable device creation during build/install
diff --git a/util/install_helper.sh b/util/install_helper.sh
index 688b245..8f40a9f 100755
--- a/util/install_helper.sh
+++ b/util/install_helper.sh
@@ -22,18 +22,12 @@ else
DESTDIR="${DESTDIR%/}"
fi
-chown root:root "${DESTDIR}${bindir}/fusermount3"
+# chown root:root "${DESTDIR}${bindir}/fusermount3"
chmod u+s "${DESTDIR}${bindir}/fusermount3"
install -D -m 644 "${MESON_SOURCE_ROOT}/util/fuse.conf" \
"${DESTDIR}${sysconfdir}/fuse.conf"
-
-if test ! -e "${DESTDIR}/dev/fuse"; then
- mkdir -p "${DESTDIR}/dev"
- mknod "${DESTDIR}/dev/fuse" -m 0666 c 10 229
-fi
-
install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \
"${DESTDIR}${udevrulesdir}/99-fuse3.rules"

View File

@ -1,63 +0,0 @@
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Wed, 3 Apr 2019 22:43:48 +0200
Subject: [PATCH] Whitelist smb2 (#392)
See also https://bugzilla.redhat.com/1694552#c7
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/ChangeLog.rst b/ChangeLog.rst
index 74bd0be..f711b2f 100644
--- a/ChangeLog.rst
+++ b/ChangeLog.rst
@@ -1,3 +1,6 @@
+* Added SMB2 to whitelist (so users can now mount FUSE filesystems
+ on mountpoints within SMB 2.0 filesystems).
+
libfuse 3.4.2 (2019-03-09)
==========================
diff --git a/util/fusermount.c b/util/fusermount.c
index 7f9b7cd..5e0b104 100644
--- a/util/fusermount.c
+++ b/util/fusermount.c
@@ -1012,35 +1012,36 @@ static int check_perm(const char **mntp, struct stat *stbuf, int *mountpoint_fd)
* but got expanded as we found more filesystems that needed to be
* overlayed. */
typeof(fs_buf.f_type) f_type_whitelist[] = {
- 0x5346414f /* OPENAFS_SUPER_MAGIC */,
0x61756673 /* AUFS_SUPER_MAGIC */,
0x00000187 /* AUTOFS_SUPER_MAGIC */,
0xCA451A4E /* BCACHEFS_STATFS_MAGIC */,
0x9123683E /* BTRFS_SUPER_MAGIC */,
0x00C36400 /* CEPH_SUPER_MAGIC */,
0xFF534D42 /* CIFS_MAGIC_NUMBER */,
- 0X00004D44 /* MSDOS_SUPER_MAGIC */,
0x0000F15F /* ECRYPTFS_SUPER_MAGIC */,
0x0000EF53 /* EXT[234]_SUPER_MAGIC */,
0xF2F52010 /* F2FS_SUPER_MAGIC */,
0x65735546 /* FUSE_SUPER_MAGIC */,
0x01161970 /* GFS2_MAGIC */,
0x47504653 /* GPFS_SUPER_MAGIC */,
- 0x3153464A /* JFS_SUPER_MAGIC */,
+ 0x0000482b /* HFSPLUS_SUPER_MAGIC */,
0x000072B6 /* JFFS2_SUPER_MAGIC */,
+ 0x3153464A /* JFS_SUPER_MAGIC */,
0x0BD00BD0 /* LL_SUPER_MAGIC */,
+ 0X00004D44 /* MSDOS_SUPER_MAGIC */,
0x0000564C /* NCP_SUPER_MAGIC */,
0x00006969 /* NFS_SUPER_MAGIC */,
0x00003434 /* NILFS_SUPER_MAGIC */,
0x5346544E /* NTFS_SB_MAGIC */,
+ 0x5346414f /* OPENAFS_SUPER_MAGIC */,
0x794C7630 /* OVERLAYFS_SUPER_MAGIC */,
0x52654973 /* REISERFS_SUPER_MAGIC */,
+ 0xFE534D42 /* SMB2_SUPER_MAGIC */,
0x73717368 /* SQUASHFS_MAGIC */,
0x01021994 /* TMPFS_MAGIC */,
0x24051905 /* UBIFS_SUPER_MAGIC */,
0x58465342 /* XFS_SB_MAGIC */,
0x2FC12FC1 /* ZFS_SUPER_MAGIC */,
- 0x0000482b /* HFSPLUS_SUPER_MAGIC */,
};
for (i = 0; i < sizeof(f_type_whitelist)/sizeof(f_type_whitelist[0]); i++) {
if (f_type_whitelist[i] == fs_buf.f_type)

View File

@ -1,2 +1 @@
SHA512 (fuse-2.9.9.tar.gz) = 3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2
SHA512 (fuse-3.4.2.tar.gz) = ba59f261a51803517cf5d131a74455cf3143e80382c9a9612037cbce9941af867d379955417c384fe0b28e31b5a16f9d0ff35337c7e565830767879458c942be