[arch-commits] Commit in gvfs/repos/extra-x86_64 (7 files)

Jan Steffens heftig at archlinux.org
Mon Mar 22 02:18:35 UTC 2021


    Date: Monday, March 22, 2021 @ 02:18:35
  Author: heftig
Revision: 410675

archrelease: copy trunk to extra-x86_64

Added:
  gvfs/repos/extra-x86_64/0001-daemon-Remove-connection-socket-properly.patch
    (from rev 410674, gvfs/trunk/0001-daemon-Remove-connection-socket-properly.patch)
  gvfs/repos/extra-x86_64/PKGBUILD
    (from rev 410674, gvfs/trunk/PKGBUILD)
  gvfs/repos/extra-x86_64/gvfs-nfs.install
    (from rev 410674, gvfs/trunk/gvfs-nfs.install)
  gvfs/repos/extra-x86_64/gvfsd.hook
    (from rev 410674, gvfs/trunk/gvfsd.hook)
Deleted:
  gvfs/repos/extra-x86_64/PKGBUILD
  gvfs/repos/extra-x86_64/gvfs-nfs.install
  gvfs/repos/extra-x86_64/gvfsd.hook

-----------------------------------------------------+
 0001-daemon-Remove-connection-socket-properly.patch |  140 +++++++
 PKGBUILD                                            |  335 +++++++++---------
 gvfs-nfs.install                                    |   14 
 gvfsd.hook                                          |   22 -
 4 files changed, 329 insertions(+), 182 deletions(-)

Copied: gvfs/repos/extra-x86_64/0001-daemon-Remove-connection-socket-properly.patch (from rev 410674, gvfs/trunk/0001-daemon-Remove-connection-socket-properly.patch)
===================================================================
--- 0001-daemon-Remove-connection-socket-properly.patch	                        (rev 0)
+++ 0001-daemon-Remove-connection-socket-properly.patch	2021-03-22 02:18:35 UTC (rev 410675)
@@ -0,0 +1,140 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Mon, 22 Mar 2021 00:18:29 +0000
+Subject: [PATCH] daemon: Remove connection socket properly
+
+The naming scheme for the non-abstract socket was changed but
+`new_connection_data_free` was not adjusted to match.
+
+`GDBusServer` will remove the socket when it stops, but only if
+`g_dbus_server_start` was called. So we can simplify the process
+somewhat. Also don't bother removing the directory now that all sockets
+share it.
+
+Fixes: 29a00938055d3c7c11533bdda3f84ec51d4cbb32 (daemon: Use named sockets to avoid network permission requirement)
+---
+ daemon/gvfsdaemon.c | 48 ++++++++++++++++++---------------------------
+ 1 file changed, 19 insertions(+), 29 deletions(-)
+
+diff --git a/daemon/gvfsdaemon.c b/daemon/gvfsdaemon.c
+index 2533d9fa..f9124a76 100644
+--- a/daemon/gvfsdaemon.c
++++ b/daemon/gvfsdaemon.c
+@@ -89,9 +89,7 @@ struct _GVfsDaemon
+ 
+ typedef struct {
+   GVfsDaemon *daemon;
+-  char *socket_dir;
+-  GDBusServer *server;
+-  
++
+   GDBusConnection *conn;
+ } NewConnectionData;
+ 
+@@ -656,18 +654,6 @@ static void
+ new_connection_data_free (void *memory)
+ {
+   NewConnectionData *data = memory;
+-  gchar *socket;
+-  
+-  /* Remove the socket and dir after connected */
+-  if (data->socket_dir)
+-    {
+-      socket = g_strdup_printf ("%s/socket", data->socket_dir);
+-      g_unlink (socket);
+-      g_free (socket);
+-      rmdir (data->socket_dir);
+-      g_free (data->socket_dir);
+-    }
+-
+   g_free (data);
+ }
+ 
+@@ -769,18 +755,21 @@ daemon_peer_connection_setup (GVfsDaemon *daemon,
+ }
+ 
+ static void
+-generate_address (char **address,
+-                  char **socket_dir)
++generate_address (gchar **address, gchar **socket_path)
+ {
+-  gchar tmp[9];
++  gchar tmp[16] = "socket-";
++  gchar *socket_dir;
+ 
+-  *socket_dir = g_build_filename (g_get_user_runtime_dir (), "gvfsd", NULL);
+-  g_mkdir (*socket_dir, 0700);
++  gvfs_randomize_string (tmp + 7, 8);
++  tmp[15] = '\0';
+ 
+-  gvfs_randomize_string (tmp, 8);
+-  tmp[8] = '\0';
++  socket_dir = g_build_filename (g_get_user_runtime_dir (), "gvfsd", NULL);
++  g_mkdir (socket_dir, 0700);
+ 
+-  *address = g_strdup_printf ("unix:path=%s/socket-%s", *socket_dir, tmp);
++  *socket_path = g_build_filename (socket_dir, tmp, NULL);
++  *address = g_strdup_printf ("unix:path=%s", *socket_path);
++
++  g_free (socket_dir);
+ }
+ 
+ static gboolean
+@@ -814,50 +803,51 @@ handle_get_connection (GVfsDBusDaemon *object,
+   GError *error;
+   gchar *address1;
+   NewConnectionData *data;
+-  char *socket_dir;
++  gchar *socket_path;
+   gchar *guid;
+-  
+-  generate_address (&address1, &socket_dir);
++
++  generate_address (&address1, &socket_path);
+ 
+   data = g_new (NewConnectionData, 1);
+   data->daemon = daemon;
+-  data->socket_dir = socket_dir;
+   data->conn = NULL;
+ 
+   guid = g_dbus_generate_guid ();
+   error = NULL;
+   server = g_dbus_server_new_sync (address1,
+                                    G_DBUS_SERVER_FLAGS_NONE,
+                                    guid,
+                                    daemon->auth_observer,
+                                    NULL, /* GCancellable */
+                                    &error);
+   g_free (guid);
+ 
+   if (server == NULL)
+     {
+       g_dbus_method_invocation_return_gerror (invocation, error);
+       g_printerr ("daemon: Error creating server at address %s: %s\n", address1, error->message);
+       g_error_free (error);
+       goto error_out;
+     }
+ 
+   g_dbus_server_start (server);
+-  data->server = server;
+ 
+   g_signal_connect (server, "new-connection", G_CALLBACK (daemon_new_connection_func), data);
+-  
++
+   gvfs_dbus_daemon_complete_get_connection (object,
+                                             invocation,
+                                             address1,
+                                             "");
+ 
+   g_free (address1);
++  g_free (socket_path);
+   return TRUE;
+ 
+  error_out:
+   new_connection_data_free (data);
+   g_free (address1);
++  g_unlink (socket_path);
++  g_free (socket_path);
+   return TRUE;
+ }
+ 

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2021-03-22 02:18:19 UTC (rev 410674)
+++ PKGBUILD	2021-03-22 02:18:35 UTC (rev 410675)
@@ -1,164 +0,0 @@
-# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
-# Contributor: Jan de Groot <jgc at archlinux.org>
-
-pkgbase=gvfs
-pkgname=(gvfs gvfs-{smb,afc,gphoto2,goa,mtp,nfs,google})
-pkgver=1.48.0
-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)
-groups=(gnome)
-_commit=47caf9fc6d137be1cd1645145db22cf2b671da80  # tags/1.48.0^0
-source=("git+https://gitlab.gnome.org/GNOME/gvfs.git#commit=$_commit"
-        gvfsd.hook)
-sha256sums=('SKIP'
-            'd3b714db35b2ce75d7f6d528044554decbb9149a98425aff119a071ca0a25282')
-
-prepare() {
-  cd $pkgbase
-}
-
-pkgver() {
-  cd $pkgbase
-  git describe --tags | sed 's/-/+/g'
-}
-
-build() {
-  arch-meson $pkgbase build -D man=true
-  meson compile -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() {
-  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')
-  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() {
-  pkgdesc+=" (SMB/CIFS backend; Windows client)"
-  depends=("gvfs=$pkgver" 'smbclient>=4.12.0')
-
-  mv "$srcdir/smb" "$pkgdir/usr"
-}
-
-package_gvfs-afc() {
-  pkgdesc+=" (AFC backend; Apple mobile devices)"
-  depends=("gvfs=$pkgver" libimobiledevice usbmuxd)
-
-  mv "$srcdir/afc" "$pkgdir/usr"
-}
-
-package_gvfs-gphoto2() {
-  pkgdesc+=" (gphoto2 backend; PTP camera, MTP media player)"
-  depends=("gvfs=$pkgver" libgphoto2)
-
-  mv "$srcdir/gphoto2" "$pkgdir/usr"
-}
-
-package_gvfs-mtp() {
-  pkgdesc+=" (MTP backend; Android, media player)"
-  depends=("gvfs=$pkgver" libmtp)
-
-  mv "$srcdir/mtp" "$pkgdir/usr"
-}
-
-package_gvfs-goa() {
-  pkgdesc+=" (Gnome Online Accounts backend; cloud storage)"
-  depends=("gvfs=$pkgver" gnome-online-accounts)
-
-  mv "$srcdir/goa" "$pkgdir/usr"
-}
-
-package_gvfs-nfs() {
-  pkgdesc+=" (NFS backend)"
-  depends=("gvfs=$pkgver" libnfs)
-  install=gvfs-nfs.install
-
-  mv "$srcdir/nfs" "$pkgdir/usr"
-}
-
-package_gvfs-google() {
-  pkgdesc+=" (Google Drive backend)"
-  depends=("gvfs-goa=$pkgver" libgdata)
-
-  mv "$srcdir/google" "$pkgdir/usr"
-}
-
-# vim:set sw=2 et:

Copied: gvfs/repos/extra-x86_64/PKGBUILD (from rev 410674, gvfs/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2021-03-22 02:18:35 UTC (rev 410675)
@@ -0,0 +1,171 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
+# Contributor: Jan de Groot <jgc at archlinux.org>
+
+pkgbase=gvfs
+pkgname=(gvfs gvfs-{smb,afc,gphoto2,goa,mtp,nfs,google})
+pkgver=1.48.0
+pkgrel=2
+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)
+groups=(gnome)
+_commit=47caf9fc6d137be1cd1645145db22cf2b671da80  # tags/1.48.0^0
+source=("git+https://gitlab.gnome.org/GNOME/gvfs.git#commit=$_commit"
+        0001-daemon-Remove-connection-socket-properly.patch
+        gvfsd.hook)
+sha256sums=('SKIP'
+            'c7811a2182ca439037004b2c3096b7ef05368c4d203c016944cbee0248d3ca70'
+            'd3b714db35b2ce75d7f6d528044554decbb9149a98425aff119a071ca0a25282')
+
+prepare() {
+  cd $pkgbase
+
+  # https://gitlab.gnome.org/GNOME/gvfs/-/merge_requests/119
+  git apply -3 ../0001-daemon-Remove-connection-socket-properly.patch
+}
+
+pkgver() {
+  cd $pkgbase
+  git describe --tags | sed 's/-/+/g'
+}
+
+build() {
+  # Disable the admin backend while it's broken
+  # https://gitlab.gnome.org/GNOME/gvfs/-/issues/552
+  arch-meson $pkgbase build -D man=true -D admin=false
+  meson compile -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() {
+  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')
+  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() {
+  pkgdesc+=" (SMB/CIFS backend; Windows client)"
+  depends=("gvfs=$pkgver" 'smbclient>=4.12.0')
+
+  mv "$srcdir/smb" "$pkgdir/usr"
+}
+
+package_gvfs-afc() {
+  pkgdesc+=" (AFC backend; Apple mobile devices)"
+  depends=("gvfs=$pkgver" libimobiledevice usbmuxd)
+
+  mv "$srcdir/afc" "$pkgdir/usr"
+}
+
+package_gvfs-gphoto2() {
+  pkgdesc+=" (gphoto2 backend; PTP camera, MTP media player)"
+  depends=("gvfs=$pkgver" libgphoto2)
+
+  mv "$srcdir/gphoto2" "$pkgdir/usr"
+}
+
+package_gvfs-mtp() {
+  pkgdesc+=" (MTP backend; Android, media player)"
+  depends=("gvfs=$pkgver" libmtp)
+
+  mv "$srcdir/mtp" "$pkgdir/usr"
+}
+
+package_gvfs-goa() {
+  pkgdesc+=" (Gnome Online Accounts backend; cloud storage)"
+  depends=("gvfs=$pkgver" gnome-online-accounts)
+
+  mv "$srcdir/goa" "$pkgdir/usr"
+}
+
+package_gvfs-nfs() {
+  pkgdesc+=" (NFS backend)"
+  depends=("gvfs=$pkgver" libnfs)
+  install=gvfs-nfs.install
+
+  mv "$srcdir/nfs" "$pkgdir/usr"
+}
+
+package_gvfs-google() {
+  pkgdesc+=" (Google Drive backend)"
+  depends=("gvfs-goa=$pkgver" libgdata)
+
+  mv "$srcdir/google" "$pkgdir/usr"
+}
+
+# vim:set sw=2 et:

Deleted: gvfs-nfs.install
===================================================================
--- gvfs-nfs.install	2021-03-22 02:18:19 UTC (rev 410674)
+++ gvfs-nfs.install	2021-03-22 02:18:35 UTC (rev 410675)
@@ -1,7 +0,0 @@
-post_install() {
-  setcap 'cap_net_bind_service=+ep' usr/lib/gvfsd-nfs
-}
-
-post_upgrade() {
-  post_install
-}

Copied: gvfs/repos/extra-x86_64/gvfs-nfs.install (from rev 410674, gvfs/trunk/gvfs-nfs.install)
===================================================================
--- gvfs-nfs.install	                        (rev 0)
+++ gvfs-nfs.install	2021-03-22 02:18:35 UTC (rev 410675)
@@ -0,0 +1,7 @@
+post_install() {
+  setcap 'cap_net_bind_service=+ep' usr/lib/gvfsd-nfs
+}
+
+post_upgrade() {
+  post_install
+}

Deleted: gvfsd.hook
===================================================================
--- gvfsd.hook	2021-03-22 02:18:19 UTC (rev 410674)
+++ gvfsd.hook	2021-03-22 02:18:35 UTC (rev 410675)
@@ -1,11 +0,0 @@
-[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'

Copied: gvfs/repos/extra-x86_64/gvfsd.hook (from rev 410674, gvfs/trunk/gvfsd.hook)
===================================================================
--- gvfsd.hook	                        (rev 0)
+++ gvfsd.hook	2021-03-22 02:18:35 UTC (rev 410675)
@@ -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'



More information about the arch-commits mailing list