# build with -j12 broken? %global _smp_ncpus_max 4 %bcond_without gphoto2 %bcond_without iphone %bcond_without mtp %bcond_without goa %bcond_without man %define url_ver %{lua: ver = rpm.expand("%{version}"); majmin, count1 = string.gsub(ver, "^([0123456789]+%.[0123456789]+).*", "%1", 1); if count1 == 0 then print(ver); return; end; maj, count2 = string.gsub(majmin, "^([0123456789]+).*", "%1", 1); if count2 == 0 then print(majmin) elseif tonumber(majmin) < 40 then print(majmin) else print(maj) end} Summary: Glib VFS library Name: gvfs Version: 1.56.0 Release: %mkrel 1 License: LGPLv2+ Group: System/Libraries Url: https://wiki.gnome.org/Projects/gvfs Source0: https://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{version}.tar.xz BuildRequires: meson BuildRequires: gcc BuildRequires: gettext BuildRequires: cdda-devel BuildRequires: openssh-clients BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(avahi-glib) BuildRequires: pkgconfig(bluez) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(fuse3) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(libgdata) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gmodule-no-export-2.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libbluray) BuildRequires: pkgconfig(libcdio_paranoia) BuildRequires: pkgconfig(gsettings-desktop-schemas) BuildRequires: pkgconfig(libnfs) BuildRequires: pkgconfig(libsecret-unstable) BuildRequires: pkgconfig(libsoup-3.0) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(msgraph-0.1) BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(smbclient) BuildRequires: pkgconfig(udisks2) %if %{with gphoto2} BuildRequires: pkgconfig(libgphoto2) %endif %if %{with iphone} BuildRequires: pkgconfig(libimobiledevice-1.0) BuildRequires: pkgconfig(libplist-2.0) %endif %if %{with mtp} BuildRequires: pkgconfig(libmtp) %endif %if %{with goa} BuildRequires: pkgconfig(goa-1.0) %endif %if %{with_man} BuildRequires: xsltproc %endif #gw the dbus service depends on the daemon in the library package Requires: %{name} Requires: udisks2 Recommends: %{name}-fuse Recommends: %{name}-smb Recommends: %{name}-archive Recommends: %mklibname glib-networking %if %{with gphoto2} Recommends: %{name}-gphoto2 %endif %if %{with iphone} Recommends: %{name}-iphone %endif %if %{with mtp} Recommends: %{name}-mtp %endif Obsoletes: %{name}-devel < 1.56.0 %description This is a Virtual File System library based on gio and Glib. %package fuse Summary: FUSE support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} Requires: fuse3 %description fuse This package provides support for applications not using gio to access the gvfs filesystems. %package smb Summary: Windows fileshare support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} %description smb This package provides support for reading and writing files on windows shares (SMB) to applications using gvfs. %package archive Summary: Archiving support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} %description archive This package provides support for accessing files inside Zip and Tar archives, as well as ISO images, to applications using gvfs. %package gphoto2 Summary: gphoto2 support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} %description gphoto2 This package provides support for reading and writing files on PTP based cameras (Picture Transfer Protocol) and MTP based media players (Media Transfer Protocol) to applications using gvfs. %package iphone Summary: iPhone support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} Requires: usbmuxd %description iphone This package provides support for reading and writing files on the iPhone and the iPod TouchP to applications using gvfs. %package mtp Summary: MTP support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} %description mtp This package provides support for reading and writing files on MTP devices, using gvfs. %package goa Summary: GNOME Online Accounts support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} %description goa This package provides seamless integration with gnome-online-accounts file services, using gvfs. %package google Summary: Google Drive support for gvfs Group: System/Libraries Requires: %{name} = %{version}-%{release} Conflicts: gvfs < 1.40.1-4 %description google This package provides seamless integration with Google Drive file services, using gvfs. %prep %autosetup -p1 %build %meson \ -Dgphoto2=%{?with_gphoto2:true}%{?!with_gphoto2:false} \ -Dafc=%{?with_iphone:true}%{?!with_iphone:false} \ -Dmtp=%{?with_mtp:true}%{?!with_mtp:false} \ -Dgoa=%{?with_goa:true}%{?!with_goa:false} \ -Dman=%{?with_man:true}%{?!with_man:false} %meson_build %install %meson_install %find_lang gvfs %post # Reload .mount files: killall -USR1 gvfsd >&/dev/null || : # Reload .mount files when single subpackage is installed: %post archive killall -USR1 gvfsd >&/dev/null || : %post gphoto2 killall -USR1 gvfsd >&/dev/null || : %post iphone killall -USR1 gvfsd >&/dev/null || : %post smb killall -USR1 gvfsd >&/dev/null || : %post mtp killall -USR1 gvfsd >&/dev/null || : %post goa killall -USR1 gvfsd >&/dev/null || : %post google killall -USR1 gvfsd >&/dev/null || : %files -f gvfs.lang %doc README.md NEWS %{_datadir}/dbus-1/services/org.gtk.vfs.Daemon.service %{_datadir}/dbus-1/services/org.gtk.vfs.Metadata.service %{_datadir}/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service %dir %{_datadir}/gvfs %dir %{_datadir}/gvfs/mounts %{_datadir}/gvfs/mounts/admin.mount %{_datadir}/gvfs/mounts/sftp.mount %{_datadir}/gvfs/mounts/trash.mount %{_datadir}/gvfs/mounts/cdda.mount %{_datadir}/gvfs/mounts/computer.mount %{_datadir}/gvfs/mounts/dav.mount %{_datadir}/gvfs/mounts/dav+sd.mount %{_datadir}/gvfs/mounts/http.mount %{_datadir}/gvfs/mounts/localtest.mount %{_datadir}/gvfs/mounts/dns-sd.mount %{_datadir}/gvfs/mounts/network.mount %{_datadir}/gvfs/mounts/ftp.mount %{_datadir}/gvfs/mounts/ftpis.mount %{_datadir}/gvfs/mounts/recent.mount %{_datadir}/gvfs/mounts/afp-browse.mount %{_datadir}/gvfs/mounts/ftps.mount %{_datadir}/gvfs/mounts/afp.mount %{_datadir}/gvfs/mounts/nfs.mount %{_datadir}/gvfs/mounts/onedrive.mount %{_datadir}/gvfs/mounts/wsdd.mount %dir %{_datadir}/gvfs/remote-volume-monitors %{_datadir}/gvfs/remote-volume-monitors/udisks2.monitor %{_datadir}/glib-2.0/schemas/org.gnome.system.wsdd.gschema.xml %{_datadir}/GConf/gsettings/gvfs-dns-sd.convert %{_datadir}/glib-2.0/schemas/org.gnome.system.dns_sd.gschema.xml %{_datadir}/glib-2.0/schemas/org.gnome.system.gvfs.enums.xml %{_datadir}/polkit-1/actions/org.gtk.vfs.file-operations.policy %{_datadir}/polkit-1/rules.d/org.gtk.vfs.file-operations.rules %if %{with man} %{_mandir}/man7/gvfs.* %{_mandir}/man1/gvfsd.* %{_mandir}/man1/gvfsd-metadata.* %endif %{_libexecdir}/gvfs-udisks2-volume-monitor %{_libexecdir}/gvfsd %{_libexecdir}/gvfsd-admin %{_libexecdir}/gvfsd-ftp %{_libexecdir}/gvfsd-metadata %{_libexecdir}/gvfsd-sftp %{_libexecdir}/gvfsd-trash %{_libexecdir}/gvfsd-cdda %{_libexecdir}/gvfsd-computer %{_libexecdir}/gvfsd-dav %{_libexecdir}/gvfsd-http %{_libexecdir}/gvfsd-localtest %{_libexecdir}/gvfsd-dnssd %{_libexecdir}/gvfsd-network %{_libexecdir}/gvfsd-afp %{_libexecdir}/gvfsd-afp-browse %{_libexecdir}/gvfsd-recent %{_libexecdir}/gvfsd-nfs %{_libexecdir}/gvfsd-onedrive %{_libexecdir}/gvfsd-wsdd %{_libdir}/gvfs/libgvfscommon.so %{_libdir}/gvfs/libgvfsdaemon.so %{_libdir}/gio/modules/libgioremote-volume-monitor.so %{_libdir}/gio/modules/libgvfsdbus.so %{_prefix}/lib/tmpfiles.d/gvfsd-fuse-tmpfiles.conf %{_userunitdir}/gvfs-daemon.service %{_userunitdir}/gvfs-metadata.service %{_userunitdir}/gvfs-udisks2-volume-monitor.service %files fuse %{_libexecdir}/gvfsd-fuse %if %{with man} %{_mandir}/man1/gvfsd-fuse.* %endif %files smb %{_libexecdir}/gvfsd-smb %{_libexecdir}/gvfsd-smb-browse %{_datadir}/gvfs/mounts/smb-browse.mount %{_datadir}/gvfs/mounts/smb.mount %{_datadir}/glib-2.0/schemas/org.gnome.system.smb.gschema.xml %{_datadir}/GConf/gsettings/gvfs-smb.convert %files archive %{_libexecdir}/gvfsd-archive %{_datadir}/gvfs/mounts/archive.mount %if %{with gphoto2} %files gphoto2 %{_libexecdir}/gvfsd-gphoto2 %{_datadir}/gvfs/mounts/gphoto2.mount %{_libexecdir}/gvfs-gphoto2-volume-monitor %{_datadir}/dbus-1/services/org.gtk.vfs.GPhoto2VolumeMonitor.service %{_datadir}/gvfs/remote-volume-monitors/gphoto2.monitor %{_userunitdir}/gvfs-gphoto2-volume-monitor.service %endif %if %{with iphone} %files iphone %{_libexecdir}/gvfs-afc-volume-monitor %{_libexecdir}/gvfsd-afc %{_datadir}/dbus-1/services/org.gtk.vfs.AfcVolumeMonitor.service %{_datadir}/gvfs/mounts/afc.mount %{_datadir}/gvfs/remote-volume-monitors/afc.monitor %{_userunitdir}/gvfs-afc-volume-monitor.service %endif %if %{with mtp} %files mtp %{_libexecdir}/gvfsd-mtp %{_datadir}/gvfs/mounts/mtp.mount %{_libexecdir}/gvfs-mtp-volume-monitor %{_datadir}/dbus-1/services/org.gtk.vfs.MTPVolumeMonitor.service %{_datadir}/gvfs/remote-volume-monitors/mtp.monitor %{_userunitdir}/gvfs-mtp-volume-monitor.service %endif %if %{with goa} %files goa %{_libexecdir}/gvfs-goa-volume-monitor %{_datadir}/dbus-1/services/org.gtk.vfs.GoaVolumeMonitor.service %{_datadir}/gvfs/remote-volume-monitors/goa.monitor %{_userunitdir}/gvfs-goa-volume-monitor.service %endif %files google %{_libexecdir}/gvfsd-google %{_datadir}/gvfs/mounts/google.mount