diff --git a/.fuse3.metadata b/.fuse3.metadata new file mode 100644 index 0000000..02d58ac --- /dev/null +++ b/.fuse3.metadata @@ -0,0 +1 @@ +97e7affc42039ea8a98adc606278fb0593462c7e SOURCES/fuse-3.10.2.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7d4f427 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/fuse-3.10.2.tar.gz diff --git a/SOURCES/fuse.conf b/SOURCES/fuse.conf new file mode 100644 index 0000000..cd4c6bd --- /dev/null +++ b/SOURCES/fuse.conf @@ -0,0 +1,2 @@ +# mount_max = 1000 +# user_allow_other diff --git a/SOURCES/fuse3-gcc11.patch b/SOURCES/fuse3-gcc11.patch new file mode 100644 index 0000000..ec03bc7 --- /dev/null +++ b/SOURCES/fuse3-gcc11.patch @@ -0,0 +1,12 @@ +diff --git a/example/cxxopts.hpp b/example/cxxopts.hpp +index 6fd170d..6906e3b 100644 +--- a/example/cxxopts.hpp ++++ b/example/cxxopts.hpp +@@ -37,6 +37,7 @@ THE SOFTWARE. + #include + #include + #include ++#include + + #ifdef __cpp_lib_optional + #include diff --git a/SPECS/fuse3.spec b/SPECS/fuse3.spec new file mode 100644 index 0000000..169751d --- /dev/null +++ b/SPECS/fuse3.spec @@ -0,0 +1,243 @@ +Name: fuse3 +Version: 3.10.2 +Release: 3%{?dist} +Summary: File System in Userspace (FUSE) v3 utilities +License: GPL+ +URL: http://fuse.sf.net +Source0: https://github.com/libfuse/libfuse/archive/fuse-%{version}.tar.gz +Source1: fuse.conf +Patch0: fuse3-gcc11.patch + +BuildRequires: which +%if ! 0%{?el6} +Conflicts: filesystem < 3 +%endif +BuildRequires: libselinux-devel +BuildRequires: meson, ninja-build, gcc, gcc-c++ +%if ! 0%{?el6} && ! 0%{?el7} +BuildRequires: systemd-udev +%endif +%if 0%{?el6} +BuildRequires: udev, kernel-devel +%else +Requires: %{_sysconfdir}/fuse.conf +%endif +# fuse-common 3.4.2-3 had the fuse & fuse3 man pages in it +Conflicts: fuse-common < 3.4.2-4 + +%description +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 +Summary: File System in Userspace (FUSE) v3 libraries +License: LGPLv2+ +%if ! 0%{?el6} +Conflicts: filesystem < 3 +%endif + +%description 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 +Summary: File System in Userspace (FUSE) v3 devel files +Requires: %{name}-libs = %{version}-%{release} +Requires: pkgconfig +License: LGPLv2+ +%if ! 0%{?el6} +Conflicts: filesystem < 3 +%endif + +%description 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. + +%if ! 0%{?el6} && ! 0%{?el7} +%package -n fuse-common +Summary: Common files for File System in Userspace (FUSE) v2 and v3 +License: GPL+ + +%description -n fuse-common +Common files for FUSE v2 and FUSE v3. +%endif + +%prep +%setup -n libfuse-fuse-%{version} +%patch0 -p1 + +%build +export LC_ALL=en_US.UTF-8 +%if ! 0%{?_vpath_srcdir:1} +%global _vpath_srcdir . +%endif +%if ! 0%{?_vpath_builddir:1} +%global _vpath_builddir build +%endif +%if 0%{?el6} +%if ! 0%{?__global_ldflags:1} +%global __global_ldflags "" +%endif +%meson -D udevrulesdir=/etc/udev/rules.d +%else +%meson +%endif + +(cd %{_vpath_builddir} +%if 0%{?el6} +meson configure -D c_args=-I"`ls -d /usr/src/kernels/*/include|head -1`" +%endif +%if 0%{?el6} || 0%{?el7} +meson configure -D examples=false +%endif +# don't have root for installation +meson configure -D useroot=false +ninja-build reconfigure +) +%meson_build + +%install +export MESON_INSTALL_DESTDIR_PREFIX=%{buildroot}/usr %meson_install +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 + +# Get rid of static libs +rm -f %{buildroot}/%{_libdir}/*.a +# No need to create init-script +rm -f %{buildroot}%{_sysconfdir}/init.d/fuse3 + +%if 0%{?el6} || 0%{?el7} +# This is in the fuse package on el7 and there's no default on el6 +rm -f %{buildroot}%{_sysconfdir}/fuse.conf +%else +# Install config-file +install -p -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir} +%endif + +# Delete pointless udev rules, which do not belong in /usr/lib (brc#748204) +rm -f %{buildroot}/usr/lib/udev/rules.d/99-fuse3.rules + +%if 0%{?el6} || 0%{?el7} +%post -p /sbin/ldconfig libs +%postun -p /sbin/ldconfig libs +%else +%ldconfig_scriptlets libs +%endif + +%{!?_licensedir:%global license %%doc} + +%files +%license LICENSE GPL2.txt +%doc AUTHORS ChangeLog.rst README.md +%{_sbindir}/mount.fuse3 +%attr(4755,root,root) %{_bindir}/fusermount3 +%{_mandir}/man1/* +%{_mandir}/man8/* +%if 0%{?el6} +%{_sysconfdir}/udev/rules.d/* +%endif + +%files libs +%license LGPL2.txt +%{_libdir}/libfuse3.so.* + +%files devel +%{_libdir}/libfuse3.so +%{_libdir}/pkgconfig/fuse3.pc +%{_includedir}/fuse3/ + +%if ! 0%{?el6} && ! 0%{?el7} +%files -n fuse-common +%config(noreplace) %{_sysconfdir}/fuse.conf +%endif + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 3.10.2-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Apr 15 2021 Mohan Boddu - 3.10.2-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Fri Feb 5 2021 Tom Callaway - 3.10.2-1 +- update to 3.10.2 + +* Tue Jan 26 2021 Fedora Release Engineering - 3.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Dec 7 2020 Tom Callaway - 3.10.1-1 +- update to 3.10.1 + +* Wed Oct 14 2020 Jeff Law - 3.10.0-2 +- Add missing #include for gcc-11 + +* Mon Oct 12 2020 Tom Callaway - 3.10.0-1 +- update to 3.10.0 +- enable lto + +* Mon Aug 10 2020 Tom Callaway - 3.9.4-1 +- update to 3.9.4 + +* Mon Jul 27 2020 Fedora Release Engineering - 3.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 1 2020 Jeff Law - 3.9.2-2 +- Disable LTO + +* Thu Jun 18 2020 Tom Callaway - 3.9.2-1 +- update to 3.9.2 + +* Thu Mar 19 2020 Tom Callaway - 3.9.1-1 +- update to 3.9.1 + +* Tue Jan 28 2020 Fedora Release Engineering - 3.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Dec 16 2019 Tom Callaway - 3.9.0-1 +- update to 3.9.0 + +* Mon Nov 4 2019 Tom Callaway - 3.8.0-1 +- update to 3.8.0 + +* Fri Sep 27 2019 Tom Callaway - 3.7.0-1 +- update to 3.7.0 + +* Sun Sep 1 2019 Peter Lemenkov - 3.6.2-1 +- Update to 3.6.2 + +* Thu Jul 25 2019 Fedora Release Engineering - 3.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 03 2019 Dave Dykstra - 3.6.1-3 +- Update to the final version of pr #421 + +* Wed Jul 03 2019 Dave Dykstra - 3.6.1-2 +- Update to newer version of pr #421 +- Disable building examples on el7 + +* Thu Jun 13 2019 Tom Callaway - 3.6.1-1 +- Update to 3.6.1 + +* Fri May 24 2019 Dave Dykstra - 3.5.0-1 +- Upgrade to upstream 3.5.0 + +* Sat May 04 2019 Dave Dykstra - 3.4.2-7 +- Fix building on el6 + +* Wed May 01 2019 Dave Dykstra - 3.4.2-6 +- Need Conflicts: fuse-common < 3.4.2-4, because <= 3.4.2-3 isn't quite + enough. + +* Wed May 01 2019 Dave Dykstra - 3.4.2-5 +- Update the Conflicts: fuse-common <= version to 3.4.2-3 + +* Wed May 01 2019 Dave Dykstra - 3.4.2-4 +- Bump release number in order to larger than a rebuild of fuse package + done before separation pull request was merged. + +* Mon Apr 08 2019 Dave Dykstra - 3.4.2-3 +- Separate out from fuse package