diff --git a/accountsservice-0.6.50.tar.xz b/accountsservice-0.6.50.tar.xz deleted file mode 100644 index 620ee99..0000000 --- a/accountsservice-0.6.50.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:035928f5dea46f2220657e0bd669bc7fac45165b700c0a81b2b66ff2c3dbc74a -size 384484 diff --git a/accountsservice-0.6.54.tar.xz b/accountsservice-0.6.54.tar.xz new file mode 100644 index 0000000..2bfea75 --- /dev/null +++ b/accountsservice-0.6.54.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26e9062c84797e9604182d0efdb2231cb01c98c3c9b0fea601ca79a2802d21ac +size 93048 diff --git a/accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch b/accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch deleted file mode 100644 index de571c5..0000000 --- a/accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c7fa612023a163e8b2352e1170c6df3fceb19b27 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Thu, 19 Jul 2018 13:14:09 -0400 -Subject: lib: don't set loaded state until seat is fetched - -At the moment we set is-loaded on the user-manager -object as soon as we start fetching the seat, but -we should waiting until the seat is fetched, so -that can_switch() will return the correct value -if the caller waited until the loaded signal -to use it. - -This commit changes the >= to > which I believe -was the original intention anyway. - -https://bugs.freedesktop.org/show_bug.cgi?id=107298 ---- - src/libaccountsservice/act-user-manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c -index 325421b..e7e26b1 100644 ---- a/src/libaccountsservice/act-user-manager.c -+++ b/src/libaccountsservice/act-user-manager.c -@@ -2382,7 +2382,7 @@ maybe_set_is_loaded (ActUserManager *manager) - /* Don't set is_loaded yet unless the seat is already loaded enough - * or failed to load. - */ -- if (manager->priv->seat.state >= ACT_USER_MANAGER_SEAT_STATE_GET_ID) { -+ if (manager->priv->seat.state > ACT_USER_MANAGER_SEAT_STATE_GET_ID) { - g_debug ("ActUserManager: Seat loaded, so now setting loaded property"); - } else if (manager->priv->seat.state == ACT_USER_MANAGER_SEAT_STATE_UNLOADED) { - g_debug ("ActUserManager: Seat wouldn't load, so giving up on it and setting loaded property"); --- -cgit v1.1 diff --git a/accountsservice-read-root-user-cache.patch b/accountsservice-read-root-user-cache.patch index ff24587..1c32eaa 100644 --- a/accountsservice-read-root-user-cache.patch +++ b/accountsservice-read-root-user-cache.patch @@ -1,10 +1,10 @@ -Index: accountsservice-0.6.50/src/daemon.c +Index: accountsservice-0.6.54/src/daemon.c =================================================================== ---- accountsservice-0.6.50.orig/src/daemon.c -+++ accountsservice-0.6.50/src/daemon.c -@@ -813,9 +813,19 @@ add_new_user_for_pwent (Daemon *d - struct spwd *spent) +--- accountsservice-0.6.54.orig/src/daemon.c ++++ accountsservice-0.6.54/src/daemon.c +@@ -829,9 +829,19 @@ add_new_user_for_pwent (Daemon *d { + DaemonPrivate *priv = daemon_get_instance_private (daemon); User *user; + g_autofree gchar *filename = NULL; + g_autoptr(GKeyFile) key_file = NULL; @@ -21,4 +21,4 @@ Index: accountsservice-0.6.50/src/daemon.c + user_register (user); - g_hash_table_insert (daemon->priv->users, + g_hash_table_insert (priv->users, diff --git a/accountsservice-sysconfig.patch b/accountsservice-sysconfig.patch index a31648f..6ebe3b3 100644 --- a/accountsservice-sysconfig.patch +++ b/accountsservice-sysconfig.patch @@ -4,23 +4,10 @@ Date: Wed Jul 20 16:48:41 2011 +0200 Use autologin configuration from sysconfig (SUSE-ism) -Index: accountsservice-0.6.37/src/Makefile.am +Index: accountsservice-0.6.54/src/daemon.c =================================================================== ---- accountsservice-0.6.37.orig/src/Makefile.am -+++ accountsservice-0.6.37/src/Makefile.am -@@ -31,6 +31,8 @@ libexec_PROGRAMS = accounts-daemon - - accounts_daemon_SOURCES = \ - $(enums_h_sources) \ -+ gdm-sysconfig.c \ -+ gdm-sysconfig.h \ - types.h \ - daemon.h \ - daemon.c \ -Index: accountsservice-0.6.37/src/daemon.c -=================================================================== ---- accountsservice-0.6.37.orig/src/daemon.c -+++ accountsservice-0.6.37/src/daemon.c +--- accountsservice-0.6.54.orig/src/daemon.c ++++ accountsservice-0.6.54/src/daemon.c @@ -47,6 +47,7 @@ #include "wtmp-helper.h" #include "daemon.h" @@ -29,8 +16,8 @@ Index: accountsservice-0.6.37/src/daemon.c #define PATH_PASSWD "/etc/passwd" #define PATH_SHADOW "/etc/shadow" -@@ -560,7 +561,7 @@ reload_autologin_timeout (Daemon *daemon - daemon->priv->autologin_id = 0; +@@ -567,7 +568,7 @@ reload_autologin_timeout (Daemon *daemon + priv->autologin_id = 0; if (!load_autologin (daemon, &name, &enabled, &error)) { - g_debug ("failed to load gdms custom.conf: %s", error->message); @@ -38,7 +25,7 @@ Index: accountsservice-0.6.37/src/daemon.c return FALSE; } -@@ -1434,6 +1435,43 @@ daemon_local_check_auth (Daemon +@@ -1463,6 +1464,43 @@ daemon_local_check_auth (Daemon g_object_unref (subject); } @@ -82,7 +69,7 @@ Index: accountsservice-0.6.37/src/daemon.c gboolean load_autologin (Daemon *daemon, gchar **name, -@@ -1444,6 +1482,8 @@ load_autologin (Daemon *daemon, +@@ -1473,6 +1511,8 @@ load_autologin (Daemon *daemon, GError *local_error = NULL; g_autofree gchar *string = NULL; @@ -91,7 +78,7 @@ Index: accountsservice-0.6.37/src/daemon.c keyfile = g_key_file_new (); if (!g_key_file_load_from_file (keyfile, PATH_GDM_CUSTOM, -@@ -1483,6 +1523,8 @@ save_autologin (Daemon *daemon, +@@ -1512,6 +1552,8 @@ save_autologin (Daemon *daemon, g_autofree gchar *data = NULL; gboolean result; @@ -100,10 +87,10 @@ Index: accountsservice-0.6.37/src/daemon.c keyfile = g_key_file_new (); if (!g_key_file_load_from_file (keyfile, PATH_GDM_CUSTOM, -Index: accountsservice-0.6.37/src/gdm-sysconfig.c +Index: accountsservice-0.6.54/src/gdm-sysconfig.c =================================================================== --- /dev/null -+++ accountsservice-0.6.37/src/gdm-sysconfig.c ++++ accountsservice-0.6.54/src/gdm-sysconfig.c @@ -0,0 +1,484 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -589,10 +576,10 @@ Index: accountsservice-0.6.37/src/gdm-sysconfig.c + g_strfreev (lines); + return result; +} -Index: accountsservice-0.6.37/src/gdm-sysconfig.h +Index: accountsservice-0.6.54/src/gdm-sysconfig.h =================================================================== --- /dev/null -+++ accountsservice-0.6.37/src/gdm-sysconfig.h ++++ accountsservice-0.6.54/src/gdm-sysconfig.h @@ -0,0 +1,43 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -637,3 +624,16 @@ Index: accountsservice-0.6.37/src/gdm-sysconfig.h +G_END_DECLS + +#endif /* __GDM_SYSCONFIG_H */ +Index: accountsservice-0.6.54/src/meson.build +=================================================================== +--- accountsservice-0.6.54.orig/src/meson.build ++++ accountsservice-0.6.54/src/meson.build +@@ -46,6 +46,8 @@ libaccounts_generated_dep = declare_depe + ) + + sources = files( ++ 'gdm-sysconfig.c', ++ 'gdm-sysconfig.h', + 'daemon.c', + 'extensions.c', + 'main.c', diff --git a/accountsservice-upstream-fixes.patch b/accountsservice-upstream-fixes.patch new file mode 100644 index 0000000..634b891 --- /dev/null +++ b/accountsservice-upstream-fixes.patch @@ -0,0 +1,196 @@ +From a8f368c34e826f76d1244fed5095a1615c986b59 Mon Sep 17 00:00:00 2001 +From: Alexey Shabalin +Date: Mon, 1 Oct 2018 18:46:26 +0300 +Subject: fix option type for minimum uid + +--- + meson.build | 2 +- + meson_options.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 1f75a5b..57f30a5 100644 +--- a/meson.build ++++ b/meson.build +@@ -161,7 +161,7 @@ config_h.set_quoted('ADMIN_GROUP', admin_group) + config_h.set_quoted('EXTRA_ADMIN_GROUPS', extra_admin_groups) + + config_h.set('ENABLE_USER_HEURISTICS', get_option('user_heuristics')) +-config_h.set_quoted('MINIMUM_UID', get_option('minimum_uid')) ++config_h.set('MINIMUM_UID', get_option('minimum_uid')) + + # GDM + gdm_conf_file = get_option('gdmconffile') +diff --git a/meson_options.txt b/meson_options.txt +index 878bdd7..12e2f6b 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -4,7 +4,7 @@ option('gdmconffile', type: 'string', value: '/etc/gdm/custom.conf', description + option('admin_group', type: 'string', value: '', description: 'Set group for administrative accounts') + option('user_heuristics', type: 'boolean', value: true, description: 'Enable heuristics for guessing system vs. human users in the range 500-minimum-uid') + option('extra_admin_groups', type: 'array', value: [], description: 'Comma-separated list of extra groups that administrator users are part of') +-option('minimum_uid', type: 'string', value: '1000', description: 'Set minimum uid for human users') ++option('minimum_uid', type: 'integer', value: 1000, description: 'Set minimum uid for human users') + + option('systemd', type: 'boolean', value: false, description: 'Use systemd') + option('elogind', type: 'boolean', value: false, description: 'Use elogind') +-- +cgit v1.1 + + +From 204a4abe68eefac52ca05dda2096db0e0fde0bb7 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 2 Oct 2018 15:36:29 +0100 +Subject: libaccountsservice: Expose interfaces directory in pkg-config file + +Just like the D-Bus interfaces directory is exposed in dbus-1.pc for the +use of any package which needs to install a D-Bus interface file; the +accounts-service interfaces directory should be exposed in its +pkg-config file. + +Signed-off-by: Philip Withnall +--- + src/libaccountsservice/meson.build | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/libaccountsservice/meson.build b/src/libaccountsservice/meson.build +index 0b611d2..4e134db 100644 +--- a/src/libaccountsservice/meson.build ++++ b/src/libaccountsservice/meson.build +@@ -87,7 +87,11 @@ pkg.generate( + description: 'Client Library for communicating with accounts service', + filebase: act_name, + subdirs: act_api_name, +- variables: 'exec_prefix=${prefix}', ++ variables: [ ++ 'exec_prefix=${prefix}', ++ 'datadir=${prefix}/' + get_option('datadir'), ++ 'interfacesdir=${datadir}/accountsservice/interfaces', ++ ], + ) + + if get_option('introspection') +-- +cgit v1.1 + + +From 11c9bd6226cda64cfb8e48193be1ff2e7fb92cc1 Mon Sep 17 00:00:00 2001 +From: Akira Nakajima +Date: Wed, 19 Dec 2018 22:12:43 +0000 +Subject: forgot to add g_autoptr(GError) in + _act_user_update_from_object_path() + +--- + src/libaccountsservice/act-user.c | 2 +- + src/user.c | 60 ++++++++++++++++++++++++++++++++++++++- + 2 files changed, 60 insertions(+), 2 deletions(-) + +diff --git a/src/libaccountsservice/act-user.c b/src/libaccountsservice/act-user.c +index 540ffe7..e66acb1 100644 +--- a/src/libaccountsservice/act-user.c ++++ b/src/libaccountsservice/act-user.c +@@ -1167,7 +1167,7 @@ _act_user_update_from_object_path (ActUser *user, + const char *object_path) + { + AccountsUser *accounts_proxy; +- GError *error = NULL; ++ g_autoptr(GError) error = NULL; + + g_return_if_fail (ACT_IS_USER (user)); + g_return_if_fail (object_path != NULL); +diff --git a/src/user.c b/src/user.c +index 93afadc..2672436 100644 +--- a/src/user.c ++++ b/src/user.c +@@ -48,6 +48,33 @@ + #include "accounts-user-generated.h" + #include "util.h" + ++enum { ++ PROP_0, ++ PROP_UID, ++ PROP_USER_NAME, ++ PROP_REAL_NAME, ++ PROP_ACCOUNT_TYPE, ++ PROP_HOME_DIR, ++ PROP_SHELL, ++ PROP_EMAIL, ++ PROP_LANGUAGE, ++ PROP_SESSION, ++ PROP_SESSION_TYPE, ++ PROP_X_SESSION, ++ PROP_LOCATION, ++ PROP_LOGIN_FREQUENCY, ++ PROP_LOGIN_TIME, ++ PROP_LOGIN_HISTORY, ++ PROP_ICON_FILE, ++ PROP_SAVED, ++ PROP_LOCKED, ++ PROP_PASSWORD_MODE, ++ PROP_PASSWORD_HINT, ++ PROP_AUTOMATIC_LOGIN, ++ PROP_SYSTEM_ACCOUNT, ++ PROP_LOCAL_ACCOUNT, ++}; ++ + struct User { + AccountsUserSkeleton parent; + +@@ -2075,6 +2102,32 @@ user_set_automatic_login (AccountsUser *auser, + } + + static void ++user_set_property (GObject *object, ++ guint param_id, ++ const GValue *value, ++ GParamSpec *pspec) ++{ ++ User *user = USER (object); ++ ++ if (param_id == PROP_LOGIN_HISTORY) { ++ g_clear_pointer (&user->login_history, g_variant_unref); ++ user->login_history = g_variant_ref (g_value_get_variant (value)); ++ } ++} ++ ++static void ++user_get_property (GObject *object, ++ guint param_id, ++ GValue *value, ++ GParamSpec *pspec) ++{ ++ User *user = USER (object); ++ ++ if (param_id == PROP_LOGIN_HISTORY) ++ g_value_set_variant (value, user->login_history); ++} ++ ++static void + user_finalize (GObject *object) + { + User *user; +@@ -2088,7 +2141,7 @@ user_finalize (GObject *object) + + g_free (user->default_icon_file); + +- g_clear_pointer (&user->login_history, g_variant_unref); ++ g_clear_pointer (&user->login_history, g_variant_unref); + + if (G_OBJECT_CLASS (user_parent_class)->finalize) + (*G_OBJECT_CLASS (user_parent_class)->finalize) (object); +@@ -2101,7 +2154,12 @@ user_class_init (UserClass *class) + + gobject_class = G_OBJECT_CLASS (class); + ++ gobject_class->get_property = user_get_property; ++ gobject_class->set_property = user_set_property; ++ + gobject_class->finalize = user_finalize; ++ ++ g_object_class_override_property (gobject_class, PROP_LOGIN_HISTORY, "login-history"); + } + + static void +-- +cgit v1.1 + diff --git a/accountsservice.changes b/accountsservice.changes index 8ad4cde..94b5a73 100644 --- a/accountsservice.changes +++ b/accountsservice.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Apr 3 02:54:51 UTC 2019 - xwang@suse.com + +- Drop upstream fixed patches: + + accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch +- Update patches: + + accountsservice-read-root-user-cache.patch + + accountsservice-sysconfig.patch + ------------------------------------------------------------------- Sun Mar 17 10:52:44 UTC 2019 - Jan Engelhardt @@ -5,6 +14,35 @@ Sun Mar 17 10:52:44 UTC 2019 - Jan Engelhardt - Reduce %systemd_requires to %systemd_ordering: %service_* can handle the absence. +------------------------------------------------------------------- +Thu Feb 21 22:45:14 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 0.6.54: + + Fix user state dirs. +- Changes from version 0.6.53: + + Fix introspection. +- Changes from version 0.6.52: + + Migrate to meson and gettext (instead of autogoo and intltool). + + Add code of conduct. + + Add new session and session type properties (to replace + XSession). + + Try to handle misbehaving logind a little better. + + Misc mixes and code modernization. + + Add new "Saved" property to say whether a cached user is stored + on disk. +- Add accountsservice-upstream-fixes.patch: Add upstream bug fixes + commits, fix build. +- Switch to meson build system, add meson BuildRequires and macros. +- Drop obsolete intltool, gnome-common, vala, xmlto and xsltproc + BuildRequires: No longer needed. +- Replace gobject-introspection-devel with + pkgconfig(gobject-introspection-1.0) and add pkgconfig(dbus-1): + New depdendency. +- Disable the following patches that needs rebase: + + accountsservice-sysconfig.patch. + + accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch. + + accountsservice-read-root-user-cache.patch + ------------------------------------------------------------------- Mon Dec 10 05:48:13 UTC 2018 - xwang@suse.com diff --git a/accountsservice.spec b/accountsservice.spec index f5481c7..4953f7b 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -17,39 +17,37 @@ Name: accountsservice -Version: 0.6.50 +Version: 0.6.54 Release: 0 Summary: D-Bus Service to Manipulate User Account Information License: GPL-3.0-or-later Group: System/Daemons -URL: http://www.freedesktop.org/wiki/Software/AccountsService/ -Source: http://www.freedesktop.org/software/accountsservice/%{name}-%{version}.tar.xz +URL: https://www.freedesktop.org/wiki/Software/AccountsService/ +Source0: https://www.freedesktop.org/software/accountsservice/%{name}-%{version}.tar.xz # WARNING: do not remove/significantly change patch0 without updating the relevant patch in gdm too -# PATCH-FIX-OPENSUSE accountsservice-sysconfig.patch bnc#688071 vuntz@opensuse.org -- Read/write autologin configuration from sysconfig, like gdm (see gdm-sysconfig-settings.patch) +# PATCH-FIX-OPENSUSE accountsservice-sysconfig.patch bnc#688071 vuntz@opensuse.org -- Read/write autologin configuration from sysconfig, like gdm (see gdm-sysconfig-settings.patch) WAS PATCH-FIX-OPENSUSE Patch0: accountsservice-sysconfig.patch # PATCH-FIX-OPENSUSE accountsservice-filter-suse-accounts.patch vuntz@opensuse.org -- Filter out some system users that are specific to openSUSE Patch1: accountsservice-filter-suse-accounts.patch -# PATCH-FIX-UPSTREAM accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch boo#1100041 fdo#107298 -- lib: don't set loaded state until seat is fetched -Patch4: accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch -# PATCH-FIX-UPSTREAM accountsservice-read-root-user-cache.patch bsc#1114292 glfo#accountsservice/accountsservice#65 xwang@suse.com-- read root user cache file. -Patch5: accountsservice-read-root-user-cache.patch +# PATCH-FIX-UPSTREAM accountsservice-read-root-user-cache.patch bsc#1114292 glfo#accountsservice/accountsservice#65 xwang@suse.com-- read root user cache file WAS PATCH-FIX-UPSTREAM +Patch2: accountsservice-read-root-user-cache.patch +# PATCH-FIX-UPSTREAM accountsservice-upstream-fixes.patch -- Add 3 upstream commits to fix build +Patch3: accountsservice-upstream-fixes.patch + ## SLE-only patches start at 1000 # PATCH-FEATURE-SLE as-fate318433-prevent-same-account-multi-logins.patch fate#318433 cxiong@suse.com -- prevent multiple simultaneous login. Patch1000: as-fate318433-prevent-same-account-multi-logins.patch # needed for patch0 -BuildRequires: gnome-common -BuildRequires: gobject-introspection-devel >= 0.40.0 -BuildRequires: intltool +BuildRequires: gtk-doc +BuildRequires: meson BuildRequires: pkgconfig -# needed for patch0 -BuildRequires: vala -BuildRequires: xmlto -BuildRequires: xsltproc +BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(gio-2.0) >= 2.37.3 BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.44 +BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(libsystemd) >= 186 BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(systemd) @@ -102,25 +100,25 @@ querying and manipulating user account information. %setup -q %patch0 -p1 %patch1 -p1 -%patch4 -p1 -%patch5 -p1 +%patch2 -p1 +%patch3 -p1 # Sle-only patches start at 1000 %if !0%{?is_opensuse} %patch1000 -p1 %endif %build -# needed for patch0 -NOCONFIGURE=1 gnome-autogen.sh -%configure \ - --disable-static \ - --enable-user-heuristics -make %{?_smp_mflags} V=1 +%meson \ + -Duser-heuristics=true \ + -Dsystemd=true \ + -Dintrospection=true \ + -Dgtk_doc=true \ + %{nil} +%meson_build %install -%make_install +%meson_install %find_lang accounts-service -find %{buildroot} -type f -name "*.la" -delete -print %pre %service_add_pre accounts-daemon.service @@ -139,7 +137,7 @@ find %{buildroot} -type f -name "*.la" -delete -print %files %license COPYING -%doc NEWS README +%doc NEWS README.md %{_unitdir}/accounts-daemon.service %{_sysconfdir}/dbus-1/system.d/org.freedesktop.Accounts.conf %{_libexecdir}/accounts-daemon