From 01bcea931b5fa4c87bc74dbebfec6cdfe6df76ce543eee8331086947f0c6ce31 Mon Sep 17 00:00:00 2001 From: Atri Bhattacharya Date: Fri, 26 Apr 2024 17:08:02 +0000 Subject: [PATCH] Accepting request 1170209 from home:badshah400:branches:network > Split out a nextcloud-desktop-vfs-plugin package. > Add README.vf.md file outlining steps needed to enable virtual-file system plugin. OBS-URL: https://build.opensuse.org/request/show/1170209 OBS-URL: https://build.opensuse.org/package/show/network/nextcloud-desktop?expand=0&rev=137 --- README.vfs.md | 17 +++++++++++++++++ nextcloud-desktop.changes | 7 +++++++ nextcloud-desktop.spec | 35 ++++++++++++++++++++++++++++++++--- 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 README.vfs.md diff --git a/README.vfs.md b/README.vfs.md new file mode 100644 index 0000000..4d34af6 --- /dev/null +++ b/README.vfs.md @@ -0,0 +1,17 @@ +# Enabling virtual file system plugin for nextcloud-desktop # + +Please understand that the virtual file system is still at an early +experimental phase on Linux, as noted here: +[https://docs.nextcloud.com/desktop/latest/architecture.html#virtual-files]. + +*READ ON TO ENABLE AT YOUR OWN RISK* + +## How to enable vfs plugin on openSUSE Tumbleweed ## + +Follow these steps: + +1. Install package `nextcloud-desktop-vfs-plugin`. +2. Open the `nextcloud.cfg` file in `~/.config/Nextcloud/` in a text editor. +3. Under the `[General]` section, add the line: `showExperimentalOptions=true`. +4. Use the nextcloud-desktop UI to add a new sync account, and the option to + enable "Virtual Files" should show up. diff --git a/nextcloud-desktop.changes b/nextcloud-desktop.changes index d9a35cc..15f6bcb 100644 --- a/nextcloud-desktop.changes +++ b/nextcloud-desktop.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Apr 24 14:36:05 UTC 2024 - Atri Bhattacharya + +- Split out a nextcloud-desktop-vfs-plugin package. +- Add README.vf.md file outlining steps needed to enable + virtual-file system plugin. + ------------------------------------------------------------------- Wed Apr 24 10:05:22 UTC 2024 - Atri Bhattacharya diff --git a/nextcloud-desktop.spec b/nextcloud-desktop.spec index 84fbd3b..9926ce1 100644 --- a/nextcloud-desktop.spec +++ b/nextcloud-desktop.spec @@ -40,6 +40,7 @@ Group: Productivity/Networking/File-Sharing URL: https://nextcloud.com/ Source: https://github.com/nextcloud/desktop/archive/v%{version}/%{name}-%{version}.tar.gz Source1: sysctl-sync-inotify.conf +Source2: README.vfs.md # PATCH-FIX-UPSTREAM nextcloud-fix-HiDPI-window-size.patch badshah400@gmail.com -- Fix huge size of the nextcloud client settings and crash-reporter windows on HiDPI systems Patch0: nextcloud-fix-HiDPI-window-size.patch BuildRequires: AppStream @@ -220,9 +221,24 @@ the Nextcloud Server with your computer. This package provides Nextcloud's command-line sync utility. +%package -n nextcloud-desktop-vfs-plugin +Summary: Early experimental virtual file system plugin for nextcloud client +Requires: %{name} = %{version} +# nextcloud_vfs_*.so plugins were incorrectly a part of devel package +Conflicts: %{soname}-devel < %{version} + +%description -n nextcloud-desktop-vfs-plugin +The Nextcloud Desktop Client is a tool to synchronise files from +the Nextcloud Server with your computer. + +This package provides the files needed to enable virtual file system on +nextcloud-desktop. Note that virtual file system support on Linux is very +experimental, so use at your own risk. + %prep %autosetup -p1 -n desktop-%{version} cp -a %{SOURCE1} sysctl-sync-inotify.conf +cp %{SOURCE2} ./ %build # Set SOURCE_DATE_EPOCH to set __DATE__/__TIME__ based on tarball creation date and make build reproducible @@ -259,12 +275,20 @@ done #install -Dpm 0644 sysctl-sync-inotify.conf \ # %%{buildroot}%%{_sysconfdir}/sysctl.d/99-%%{name}-sync-inotify.conf +# Needs the following symlinks for VFS support, otherwise client crashes when VFS is enabled +mkdir -p %{buildroot}%{_libqt5_plugindir} +ln -s -t %{buildroot}%{_libqt5_plugindir}/ %{_libdir}/nextcloudsync_vfs_{suffix,xattr}.so + %suse_update_desktop_file com.nextcloud.desktopclient.nextcloud %fdupes %{buildroot}%{_datadir}/ -%post -n %{soname}%{sover} -p /sbin/ldconfig +%ldconfig_scriptlets -n %{soname}%{sover} -%postun -n %{soname}%{sover} -p /sbin/ldconfig +%posttrans -n nextcloud-desktop-vfs-plugin +echo "The virtual file system implementation of nextcloud-desktop on Linux is \ +at an early experimental stage. Enable at your own risk. \ +Please read %{_docdir}/nextcloud-desktop-vfs-plugin/README.vfs.md for steps \ +needed to enable the plugin." || true %files %license COPYING* @@ -294,7 +318,6 @@ done %{_includedir}/nextcloudsync/ %{_libdir}/%{soname}.so %{_libdir}/libnextcloud_csync.so -%{_libdir}/nextcloudsync_vfs_*.so %files -n nautilus-extension-nextcloud %dir %{_datadir}/nautilus-python/ @@ -350,4 +373,10 @@ done %config %{_sysconfdir}/Nextcloud/ %{_bindir}/nextcloudcmd +%files -n nextcloud-desktop-vfs-plugin +%license COPYING +%doc README.vfs.md +%{_libdir}/nextcloudsync_vfs_*.so +%{_libqt5_plugindir}/*.so + %changelog