summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Majewski2020-03-10 13:29:19 +0100
committerKevin Majewski2020-03-10 13:29:19 +0100
commit95c6bdaafc6d27d33203262a9e386ac97b35bc7d (patch)
treec5747c3455b331db6aead741c9b7e2b3f377da45
downloadaur-95c6bdaafc6d27d33203262a9e386ac97b35bc7d.tar.gz
Initial commit
-rw-r--r--.SRCINFO106
-rw-r--r--PKGBUILD172
-rw-r--r--gvfs-nfs.install7
-rw-r--r--gvfsd.hook11
4 files changed, 296 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7c6f840c5d97
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,106 @@
+pkgbase = gvfs-git
+ pkgdesc = Virtual filesystem implementation for GIO
+ pkgver = 1.44.0+4+g15330448
+ pkgrel = 1
+ url = https://wiki.gnome.org/Projects/gvfs
+ arch = x86_64
+ license = LGPL
+ makedepends = dbus
+ makedepends = libgphoto2
+ makedepends = libimobiledevice
+ makedepends = smbclient
+ makedepends = docbook-xsl
+ makedepends = gtk3
+ makedepends = libmtp
+ makedepends = gnome-online-accounts
+ makedepends = libnfs
+ makedepends = libgdata
+ makedepends = git
+ makedepends = gtk-doc
+ makedepends = python
+ makedepends = meson
+ makedepends = openssh
+ depends = avahi
+ depends = dconf
+ depends = fuse3
+ depends = libarchive
+ depends = libcdio-paranoia
+ depends = libsoup
+ depends = udisks2
+ depends = libsecret
+ depends = libbluray
+ depends = libgudev
+ depends = gcr
+ depends = psmisc
+ depends = gsettings-desktop-schemas>=3.34.0
+ source = git+https://gitlab.gnome.org/GNOME/gvfs.git
+ source = gvfsd.hook
+ sha512sums = SKIP
+ sha512sums = eb54f22e7d06f226160a2a8cac613f6e761d3f059f98e29c9cf49f0c2afa9126841338812000c402046e8373e56a01f958ecdd169161706a0e0dc09bc6112917
+
+pkgname = gvfs-git
+ optdepends = gvfs-afc: AFC (mobile devices) support
+ optdepends = gvfs-smb: SMB/CIFS (Windows client) support
+ optdepends = gvfs-gphoto2: gphoto2 (PTP camera/MTP media player) support
+ optdepends = gvfs-mtp: MTP device support
+ optdepends = gvfs-goa: gnome-online-accounts (e.g. OwnCloud) support
+ optdepends = gvfs-nfs: NFS support
+ optdepends = gvfs-google: Google Drive support
+ optdepends = gtk3: Recent files support
+ provides = gvfs
+ conflicts = gvfs
+ replaces = gvfs-obexftp
+ replaces = gvfs-afp
+ options = !emptydirs
+
+pkgname = gvfs-smb-git
+ pkgdesc = Virtual filesystem implementation for GIO (SMB/CIFS backend; Windows client)
+ depends = gvfs
+ depends = smbclient
+ provides = gvfs-smb
+ conflicts = gvfs-smb
+
+pkgname = gvfs-afc-git
+ pkgdesc = Virtual filesystem implementation for GIO (AFC backend; Apple mobile devices)
+ depends = gvfs
+ depends = libimobiledevice
+ depends = usbmuxd
+ provides = gvfs-afc
+ conflicts = gvfs-afc
+
+pkgname = gvfs-gphoto2-git
+ pkgdesc = Virtual filesystem implementation for GIO (gphoto2 backend; PTP camera, MTP media player)
+ depends = gvfs
+ depends = libgphoto2
+ provides = gvfs-gphoto2
+ conflicts = gvfs-gphoto2
+
+pkgname = gvfs-goa-git
+ pkgdesc = Virtual filesystem implementation for GIO (Gnome Online Accounts backend; cloud storage)
+ depends = gvfs
+ depends = gnome-online-accounts
+ provides = gvfs-goa
+ conflicts = gvfs-goa
+
+pkgname = gvfs-mtp-git
+ pkgdesc = Virtual filesystem implementation for GIO (MTP backend; Android, media player)
+ depends = gvfs
+ depends = libmtp
+ provides = gvfs-mtp
+ conflicts = gvfs-mtp
+
+pkgname = gvfs-nfs-git
+ pkgdesc = Virtual filesystem implementation for GIO (NFS backend)
+ install = gvfs-nfs.install
+ depends = gvfs
+ depends = libnfs
+ provides = gvfs-nfs
+ conflicts = gvfs-nfs
+
+pkgname = gvfs-google-git
+ pkgdesc = Virtual filesystem implementation for GIO (Google Drive backend)
+ depends = gvfs-goa
+ depends = libgdata
+ provides = gvfs-google
+ conflicts = gvfs-google
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..cb201b60fbaa
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,172 @@
+pkgbase=gvfs-git
+_pkgbase=gvfs
+pkgname=(gvfs-git gvfs-{smb,afc,gphoto2,goa,mtp,nfs,google}-git)
+pkgver=1.44.0+4+g15330448
+pkgrel=1
+pkgdesc="Virtual filesystem implementation for GIO"
+url="https://wiki.gnome.org/Projects/gvfs"
+arch=(x86_64)
+license=(LGPL)
+depends=('avahi' 'dconf' 'fuse3' 'libarchive' 'libcdio-paranoia' 'libsoup' 'udisks2' 'libsecret'
+ 'libbluray' 'libgudev' 'gcr' 'psmisc' 'gsettings-desktop-schemas>=3.34.0')
+makedepends=('dbus' 'libgphoto2' 'libimobiledevice' 'smbclient' 'docbook-xsl' 'gtk3' 'libmtp'
+ 'gnome-online-accounts' 'libnfs' 'libgdata' 'git' 'gtk-doc' 'python' 'meson'
+ 'openssh')
+source=("git+https://gitlab.gnome.org/GNOME/gvfs.git"
+ gvfsd.hook)
+sha512sums=('SKIP'
+ 'eb54f22e7d06f226160a2a8cac613f6e761d3f059f98e29c9cf49f0c2afa9126841338812000c402046e8373e56a01f958ecdd169161706a0e0dc09bc6112917')
+
+pkgver() {
+ cd $_pkgbase
+ git describe --tags | sed 's/-/+/g'
+}
+
+build() {
+ arch-meson $_pkgbase build -D man=true
+ ninja -C build
+}
+
+check() {
+ meson test -C build --print-errorlogs
+}
+
+_split() {
+ local name="$1" src dest; shift
+ for src; do
+ echo "$name: /usr/$src"
+ dest="$srcdir/$name/$src"
+ mkdir -p "${dest%/*}"
+ mv -T "$src" "$dest"
+ rmdir -p --ignore-fail-on-non-empty "${src%/*}"
+ done
+}
+
+package_gvfs-git() {
+ replaces=(gvfs-{obexftp,afp})
+ optdepends=('gvfs-afc: AFC (mobile devices) support'
+ 'gvfs-smb: SMB/CIFS (Windows client) support'
+ 'gvfs-gphoto2: gphoto2 (PTP camera/MTP media player) support'
+ 'gvfs-mtp: MTP device support'
+ 'gvfs-goa: gnome-online-accounts (e.g. OwnCloud) support'
+ 'gvfs-nfs: NFS support'
+ 'gvfs-google: Google Drive support'
+ 'gtk3: Recent files support')
+ provides=('gvfs')
+ conflicts=('gvfs')
+ options=(!emptydirs)
+
+ DESTDIR="$pkgdir" meson install -C build
+
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook
+ install -d -o root -g 102 -m 750 "$pkgdir/usr/share/polkit-1/rules.d"
+
+ cd "$pkgdir/usr"
+
+ _split smb \
+ lib/gvfsd-smb{,-browse} \
+ share/GConf/gsettings/gvfs-smb.convert \
+ share/glib-2.0/schemas/org.gnome.system.smb.gschema.xml \
+ share/gvfs/mounts/smb{,-browse}.mount
+
+ _split afc \
+ lib/gvfs{-afc-volume-monitor,d-afc} \
+ lib/systemd/user/gvfs-afc-volume-monitor.service \
+ share/dbus-1/services/org.gtk.vfs.AfcVolumeMonitor.service \
+ share/gvfs/mounts/afc.mount \
+ share/gvfs/remote-volume-monitors/afc.monitor
+
+ _split gphoto2 \
+ lib/gvfs{-gphoto2-volume-monitor,d-gphoto2} \
+ lib/systemd/user/gvfs-gphoto2-volume-monitor.service \
+ share/dbus-1/services/org.gtk.vfs.GPhoto2VolumeMonitor.service \
+ share/gvfs/mounts/gphoto2.mount \
+ share/gvfs/remote-volume-monitors/gphoto2.monitor
+
+ _split mtp \
+ lib/gvfs{-mtp-volume-monitor,d-mtp} \
+ lib/systemd/user/gvfs-mtp-volume-monitor.service \
+ share/dbus-1/services/org.gtk.vfs.MTPVolumeMonitor.service \
+ share/gvfs/mounts/mtp.mount \
+ share/gvfs/remote-volume-monitors/mtp.monitor
+
+ _split goa \
+ lib/gvfs-goa-volume-monitor \
+ lib/systemd/user/gvfs-goa-volume-monitor.service \
+ share/dbus-1/services/org.gtk.vfs.GoaVolumeMonitor.service \
+ share/gvfs/remote-volume-monitors/goa.monitor
+
+ _split nfs \
+ lib/gvfsd-nfs \
+ share/gvfs/mounts/nfs.mount
+
+ _split google \
+ lib/gvfsd-google \
+ share/gvfs/mounts/google.mount
+}
+
+package_gvfs-smb-git() {
+ pkgdesc+=" (SMB/CIFS backend; Windows client)"
+ depends=('gvfs' 'smbclient')
+ provides=('gvfs-smb')
+ conflicts=('gvfs-smb')
+
+ mv "$srcdir/smb" "$pkgdir/usr"
+}
+
+package_gvfs-afc-git() {
+ pkgdesc+=" (AFC backend; Apple mobile devices)"
+ depends=('gvfs' 'libimobiledevice' 'usbmuxd')
+ provides=('gvfs-afc')
+ conflicts=('gvfs-afc')
+
+ mv "$srcdir/afc" "$pkgdir/usr"
+}
+
+package_gvfs-gphoto2-git() {
+ pkgdesc+=" (gphoto2 backend; PTP camera, MTP media player)"
+ depends=('gvfs' 'libgphoto2')
+ provides=('gvfs-gphoto2')
+ conflicts=('gvfs-gphoto2')
+
+ mv "$srcdir/gphoto2" "$pkgdir/usr"
+}
+
+package_gvfs-mtp-git() {
+ pkgdesc+=" (MTP backend; Android, media player)"
+ depends=('gvfs' 'libmtp')
+ provides=('gvfs-mtp')
+ conflicts=('gvfs-mtp')
+
+ mv "$srcdir/mtp" "$pkgdir/usr"
+}
+
+package_gvfs-goa-git() {
+ pkgdesc+=" (Gnome Online Accounts backend; cloud storage)"
+ depends=('gvfs' 'gnome-online-accounts')
+ provides=('gvfs-goa')
+ conflicts=('gvfs-goa')
+
+ mv "$srcdir/goa" "$pkgdir/usr"
+}
+
+package_gvfs-nfs-git() {
+ pkgdesc+=" (NFS backend)"
+ depends=('gvfs' 'libnfs')
+ install=gvfs-nfs.install
+ provides=('gvfs-nfs')
+ conflicts=('gvfs-nfs')
+
+ mv "$srcdir/nfs" "$pkgdir/usr"
+}
+
+package_gvfs-google-git() {
+ pkgdesc+=" (Google Drive backend)"
+ depends=('gvfs-goa' 'libgdata')
+ provides=('gvfs-google')
+ conflicts=('gvfs-google')
+
+ mv "$srcdir/google" "$pkgdir/usr"
+}
+
+# vim:set sw=2 et:
diff --git a/gvfs-nfs.install b/gvfs-nfs.install
new file mode 100644
index 000000000000..4d92e509d26d
--- /dev/null
+++ b/gvfs-nfs.install
@@ -0,0 +1,7 @@
+post_install() {
+ setcap 'cap_net_bind_service=+ep' usr/lib/gvfsd-nfs
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/gvfsd.hook b/gvfsd.hook
new file mode 100644
index 000000000000..6e1f2de338b9
--- /dev/null
+++ b/gvfsd.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/gvfs/*
+
+[Action]
+Description = Reloading GVFS config...
+When = PostTransaction
+Exec = /bin/sh -c 'killall -q -s USR1 gvfsd || true'