# # spec file for package gvfs # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define with_udisks2 1 %define with_cdda 1 Name: gvfs Version: 1.36.2 Release: 0 Summary: Virtual File System functionality for GLib License: LGPL-2.0-or-later AND GPL-3.0-only Group: Development/Libraries/C and C++ URL: https://wiki.gnome.org/Projects/gvfs Source0: http://download.gnome.org/sources/gvfs/1.36/%{name}-%{version}.tar.xz Source99: baselibs.conf # PATCH-FIX-UPSTREAM gvfs-smb-Use-O_RDWR-to-fix-fstat-when-writing.patch bgo#795805 boo#1096476 fezhang@suse.com -- Fix failures copying files on smb mounts Patch1: gvfs-smb-Use-O_RDWR-to-fix-fstat-when-writing.patch ### NOTE: Please, keep SLE-only patches at bottom (starting on 1000). # PATCH-FEATURE-SLE gvfs-nds.patch ksamrat@novell.com -- Provides NDS browsing for nautilus Patch1000: gvfs-nds.patch # PATCH-FEATURE-SLE gvfs-nvvfs.patch ksamrat@novell.com -- Provides gvfs backend for novell nautilus plugin Patch1001: gvfs-nvvfs.patch BuildRequires: docbook-xsl-stylesheets BuildRequires: fuse-devel BuildRequires: libarchive-devel BuildRequires: libavahi-glib-devel BuildRequires: libgcrypt-devel BuildRequires: libgphoto2-devel BuildRequires: libimobiledevice-devel >= 1.2 BuildRequires: libsoup-devel >= 2.34.0 BuildRequires: meson BuildRequires: openssh BuildRequires: pkgconfig BuildRequires: translation-update-upstream BuildRequires: xsltproc BuildRequires: pkgconfig(gcr-base-3) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.51.0 BuildRequires: pkgconfig(gmodule-no-export-2.0) BuildRequires: pkgconfig(goa-1.0) >= 3.17.1 BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gudev-1.0) >= 147 BuildRequires: pkgconfig(libbluray) BuildRequires: pkgconfig(libcap) BuildRequires: pkgconfig(libgdata) >= 0.17.3 BuildRequires: pkgconfig(libmtp) >= 1.1.5 BuildRequires: pkgconfig(libnfs) >= 1.9.8 BuildRequires: pkgconfig(libsecret-unstable) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libusb-1.0) >= 1.0.21 BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(smbclient) Recommends: %{name}-lang Recommends: gvfs-backends Recommends: gvfs-common Recommends: gvfs-fuse %{glib2_gio_module_requires} %{?systemd_requires} %if %{with_cdda} BuildRequires: pkgconfig(libcdio_paranoia) >= 0.78.2 %endif %if !%{with_udisks2} BuildRequires: libgdu-devel %endif %if %{with_udisks2} BuildRequires: pkgconfig(udisks2) >= 1.97 %endif %if !0%{?is_opensuse} # The library gvfscommon was converted to a private library and is not used outside of gvfs Obsoletes: libgvfscommon0 <= %{version} %endif %description gvfs GNOME's userspace virtual filesystem designed to work with the I/O abstraction of GIO, a library available with GLib. gvfs installs several modules that are automatically used by applications using the APIs of libgio. There is also FUSE support that allows applications not using GIO to access the GVfs filesystems. %package backend-afc %define mobile_device_package %(rpm -q --qf "%%{name}" -f $(readlink -f %{_libdir}/libimobiledevice.so)) Summary: VFS functionality for GLib -- iPod / iPhone Support License: LGPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Supplements: packageand(gvfs:%{mobile_device_package}) %description backend-afc This package provides a gvfs backend that supports iPod / iPhone devices. %package backend-samba %define smb_client_package %(rpm -q --qf "%%{name}" -f $(readlink -f %{_libdir}/libsmbclient.so)) Summary: VFS functionality for GLib -- Samba Support License: LGPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: %{name}-backends = %{version} Supplements: packageand(gvfs:%{smb_client_package}) %description backend-samba This package provides a gvfs backend that supports Samba. %package backends Summary: VFS functionality for GLib License: LGPL-2.0-or-later AND GPL-3.0-only Group: Development/Libraries/C and C++ Requires: %{name} = %{version} # FIXME: use proper Requires(pre/post/preun/...) PreReq: permissions %if %{with_udisks2} Recommends: udisks2 %endif %description backends VFS functionality for GLib. This package contains all necessary backend files and libraries. %package fuse Summary: VFS functionality for GLib License: LGPL-2.0-or-later Group: System/Filesystems Requires: %{name} = %{version} Requires: fuse %description fuse gvfs GNOME's userspace virtual filesystem designed to work with the I/O abstraction of GIO, a library available with GLib. gvfs installs several modules that are automatically used by applications using the APIs of libgio. This package contains FUSE support that allows applications not using GIO to access the GVfs filesystems. %package devel Summary: Development files for the GNOME Virtual file system License: LGPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: %{name} = %{version} %description devel gvfs GNOME's userspace virtual filesystem designed to work with the I/O abstraction of GIO, a library available with GLib. gvfs installs several modules that are automatically used by applications using the APIs of libgio. This subpackage contains libraries and header files for developing gvfs plugins. %lang_package %prep %setup -q translation-update-upstream po %{name} %patch1 -p1 %if !0%{?is_opensuse} %patch1000 -p1 %patch1001 -p1 %endif %build %meson \ --libexecdir=%{_libexecdir}/%{name} \ %if %{with_udisks2} -Dudisks2=true \ -Dgdu=false \ %else -Dudisks2=false \ -Dgdu=true \ %endif -Dman=true \ %{nil} %meson_build %install %meson_install find %{buildroot} -type f -name "*.la" -delete -print %find_lang %{name} %post %{glib2_gio_module_post} %post fuse %tmpfiles_create %{_libexecdir}/tmpfiles.d/gvfsd-fuse-tmpfiles.conf %post backends %set_permissions %{_libexecdir}/%{name}/gvfsd-nfs %verifyscript backends %verify_permissions -e %{_libexecdir}/%{name}/gvfsd-nfs %postun %{glib2_gio_module_postun} %files %license COPYING %doc AUTHORS NEWS README %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/mounts %dir %{_datadir}/%{name}/remote-volume-monitors %{_libdir}/gio/modules/*.so %dir %{_libdir}/gvfs %{_libdir}/gvfs/libgvfscommon.so %{_libdir}/gvfs/libgvfsdaemon.so %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/gvfsd %{_datadir}/dbus-1/services/org.gtk.vfs.Daemon.service %{_libexecdir}/%{name}/gvfsd-metadata %{_datadir}/dbus-1/services/org.gtk.vfs.Metadata.service %{_mandir}/man1/gvfs-*.1%{?ext_man} %{_mandir}/man1/gvfsd.1%{?ext_man} %{_mandir}/man1/gvfsd-metadata.1%{?ext_man} %{_mandir}/man7/gvfs.7%{?ext_man} %{_userunitdir}/gvfs-daemon.service %{_userunitdir}/gvfs-metadata.service %files fuse %{_libexecdir}/%{name}/gvfsd-fuse %dir %{_libexecdir}/tmpfiles.d %{_libexecdir}/tmpfiles.d/gvfsd-fuse-tmpfiles.conf %{_mandir}/man1/gvfsd-fuse.1%{?ext_man} %files backend-afc %{_libexecdir}/%{name}/gvfs-afc-volume-monitor %{_datadir}/dbus-1/services/org.gtk.vfs.AfcVolumeMonitor.service %{_userunitdir}/gvfs-afc-volume-monitor.service %{_datadir}/%{name}/remote-volume-monitors/afc.monitor %{_libexecdir}/%{name}/gvfsd-afc %{_datadir}/%{name}/mounts/afc.mount %files backend-samba %{_libexecdir}/%{name}/gvfsd-smb %{_datadir}/%{name}/mounts/smb.mount %{_libexecdir}/%{name}/gvfsd-smb-browse %{_datadir}/%{name}/mounts/smb-browse.mount # GSettings schemas & conversion data # Those schemas are used gvfsd-smb %{_datadir}/glib-2.0/schemas/org.gnome.system.smb.gschema.xml %{_datadir}/GConf/gsettings/gvfs-smb.convert %files backends %if %{with_udisks2} %doc monitor/udisks2/what-is-shown.txt %{_datadir}/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service %{_datadir}/%{name}/remote-volume-monitors/udisks2.monitor %{_libexecdir}/%{name}/gvfs-udisks2-volume-monitor %{_userunitdir}/gvfs-udisks2-volume-monitor.service %else %{_libexecdir}/%{name}/gvfs-gdu-volume-monitor %{_datadir}/dbus-1/services/org.gtk.Private.GduVolumeMonitor.service %{_datadir}/%{name}/remote-volume-monitors/gdu.monitor %endif %{_libexecdir}/%{name}/gvfs-gphoto2-volume-monitor %{_userunitdir}/gvfs-gphoto2-volume-monitor.service %{_datadir}/dbus-1/services/org.gtk.vfs.GPhoto2VolumeMonitor.service %{_datadir}/%{name}/remote-volume-monitors/gphoto2.monitor %{_libexecdir}/%{name}/gvfsd-admin %{_datadir}/%{name}/mounts/admin.mount %{_datadir}/polkit-1/actions/org.gtk.vfs.file-operations.policy %{_datadir}/polkit-1/rules.d/org.gtk.vfs.file-operations.rules %{_libexecdir}/%{name}/gvfsd-afp %{_datadir}/%{name}/mounts/afp.mount %{_libexecdir}/%{name}/gvfsd-afp-browse %{_datadir}/%{name}/mounts/afp-browse.mount %{_libexecdir}/%{name}/gvfsd-archive %{_datadir}/%{name}/mounts/archive.mount %{_libexecdir}/%{name}/gvfsd-burn %{_datadir}/%{name}/mounts/burn.mount %if %{with_cdda} %{_libexecdir}/%{name}/gvfsd-cdda %{_datadir}/%{name}/mounts/cdda.mount %endif %{_libexecdir}/%{name}/gvfsd-computer %{_datadir}/%{name}/mounts/computer.mount %{_libexecdir}/%{name}/gvfsd-dav %{_datadir}/%{name}/mounts/dav.mount %{_datadir}/%{name}/mounts/dav+sd.mount %{_libexecdir}/%{name}/gvfsd-dnssd %{_datadir}/%{name}/mounts/dns-sd.mount %{_libexecdir}/%{name}/gvfsd-ftp %{_datadir}/%{name}/mounts/ftp.mount %{_datadir}/%{name}/mounts/ftps.mount %{_libexecdir}/%{name}/gvfsd-google %{_datadir}/%{name}/mounts/google.mount %{_libexecdir}/%{name}/gvfsd-gphoto2 %{_datadir}/%{name}/mounts/gphoto2.mount %{_libexecdir}/%{name}/gvfsd-http %{_datadir}/%{name}/mounts/http.mount %{_libexecdir}/%{name}/gvfs-goa-volume-monitor %{_userunitdir}/gvfs-goa-volume-monitor.service %{_datadir}/%{name}/remote-volume-monitors/goa.monitor %{_datadir}/dbus-1/services/org.gtk.vfs.GoaVolumeMonitor.service %{_libexecdir}/%{name}/gvfsd-localtest %{_datadir}/%{name}/mounts/localtest.mount %{_libexecdir}/%{name}/gvfsd-mtp %{_libexecdir}/%{name}/gvfs-mtp-volume-monitor %{_userunitdir}/gvfs-mtp-volume-monitor.service %{_datadir}/%{name}/remote-volume-monitors/mtp.monitor %{_datadir}/dbus-1/services/org.gtk.vfs.MTPVolumeMonitor.service %{_datadir}/%{name}/mounts/mtp.mount %if !0%{?is_opensuse} %{_libexecdir}/%{name}/gvfsd-nds %{_datadir}/%{name}/mounts/nds.mount %endif %{_libexecdir}/%{name}/gvfsd-network %{_datadir}/%{name}/mounts/network.mount # allow priv ports for mounting nfs. Otherwise the nfs-service requires insecure (boo#1065864) %verify(not mode caps) %caps(cap_net_bind_service=+ep) %{_libexecdir}/%{name}/gvfsd-nfs %{_libexecdir}/%{name}/gvfsd-nfs %{_datadir}/%{name}/mounts/nfs.mount %if !0%{?is_opensuse} %{_libexecdir}/%{name}/gvfsd-nvvfs %{_datadir}/%{name}/mounts/nvvfs.mount %endif %{_libexecdir}/%{name}/gvfsd-recent %{_datadir}/%{name}/mounts/recent.mount %{_libexecdir}/%{name}/gvfsd-sftp %{_datadir}/%{name}/mounts/sftp.mount # gvfsd-trash is GPLv3 because of trashlib. %{_libexecdir}/%{name}/gvfsd-trash %{_datadir}/%{name}/mounts/trash.mount # GSettings schemas & conversion data # Those schemas are used by gvfsd-network %{_datadir}/glib-2.0/schemas/org.gnome.system.dns_sd.gschema.xml %{_datadir}/glib-2.0/schemas/org.gnome.system.gvfs.enums.xml %dir %{_datadir}/GConf %dir %{_datadir}/GConf/gsettings %{_datadir}/GConf/gsettings/gvfs-dns-sd.convert %files devel %doc ChangeLog.pre-1-2 MAINTAINERS README.commits %{_includedir}/gvfs-client %files lang -f %{name}.lang %changelog