accountsservice: fix vendor extensions

Fixes #72396.

The interface org.freedesktop.DisplayManager.AccountsService
should now exist. This also actually fixes #45059.
This commit is contained in:
worldofpeace 2019-10-31 20:39:02 -04:00
parent 3328244936
commit feda399909
2 changed files with 24 additions and 0 deletions

View file

@ -60,6 +60,8 @@ stdenv.mkDerivation rec {
})
./no-create-dirs.patch
./Disable-methods-that-change-files-in-etc.patch
# Fixes https://github.com/NixOS/nixpkgs/issues/72396
./drop-prefix-check-extensions.patch
# Systemd unit improvements. Notably using StateDirectory eliminating the
# need of an ad-hoc script.
(fetchpatch {

View file

@ -0,0 +1,22 @@
diff --git a/src/extensions.c b/src/extensions.c
index 038dcb2..830465d 100644
--- a/src/extensions.c
+++ b/src/extensions.c
@@ -121,16 +121,7 @@ daemon_read_extension_directory (GHashTable *ifaces,
continue;
}
- /* Ensure it looks like "../../dbus-1/interfaces/${name}" */
- const gchar * const prefix = "../../dbus-1/interfaces/";
- if (g_str_has_prefix (symlink, prefix) && g_str_equal (symlink + strlen (prefix), name)) {
- daemon_read_extension_file (ifaces, filename);
- }
- else {
- g_warning ("Found accounts service vendor extension symlink %s, but it must be exactly "
- "equal to '../../dbus-1/interfaces/%s' for forwards-compatibility reasons.",
- filename, name);
- }
+ daemon_read_extension_file (ifaces, filename);
}
g_dir_close (dir);