Accepting request 692039 from GNOME:Next

- 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
- Redo summaries without em dashes.
- Reduce %systemd_requires to %systemd_ordering:
  %service_* can handle the absence.
- 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
- Add accountsservice-read-root-user-cache.patch: Read root user
  cache file (bsc#1114292 glfo#accountsservice/accountsservice#65).
- Update to version 0.6.50:
  + Fix insufficient path check on user icon files.
  + Fix is-logged-in status for wayland sessions.
  + Fix user enumeration when system accounts are mixed in.
- Drop upstream fixed patches:
  + accountsservice-missing-users-on-gdm-login.patch.
  + accountsservice-lib-treat-session-type-wayland-as-graphical-session.patch
- Add accountsservice-lib-don-not-set-loaded-state-until-seat-fetched.patch:
  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.
  (boo#1100041 fdo#107298)
- Add accountsservice-lib-treat-session-type-wayland-as-graphical-session.patch:
  When user session type is wayland, act_user_is_logged_in can
  return TRUE if the user is logged in (boo#1095918 fdo#106855).
- Make build verbose to see full command lines.
- Add accountsservice-missing-users-on-gdm-login.patch: Don't abort
  loading users when an /etc/shadow entry found missing
  (boo#1090003 fdo#106904).
- Update to version 0.6.49:
  + Fix crash on startup from previous compiler warning fix.
- Changes from version 0.6.48:
  + Fix crashes when adding admin user and when user is removed.
  + Performance improvements handling really large wtmp files.
- Changes from version 0.6.47:
  + Fix problem where libaccountsservice users weren't getting
    property change updates.
  + Reduce memory usage of cached users in daemon process.
  + Drop premature user-added/user-removed signals that erroneously
    get emitted before ListCachedUsers call finishes.
- Update to version 0.6.46:
  + Fix systemd unit file to use default standard output;
  + Performance improvements;
  + Leak fixes;
  + Crash fixes;
  + Support extra groups for admin users;
  + Add policy that allows admins to allow users to change their
    own password;
  + Introspection fixes;
  + Elogind support;
  + Decruftification of username blacklist;
  + Updated translations.
- Add:
  + gio-2.0 and gio-unix-2.0 pkgconfig modules BuildRequires to
    avoid implicit dependencies.
  + xmlto and xsltproc BuildRequires to enable documentation.
- Drop remove-no-longer-used-system-accounts.patch: fixed upstream.
- Rebase patches:
  + accountsservice-sysconfig.patch and
  + accountsservice-filter-suse-accounts.patch.
- Modernize spec-file by calling spec-cleaner
- Add remove-no-longer-used-system-accounts.patch:
  Drop operator, nobody4 and noaccess from the blacklist
  (bsc#1063794, fdo#103879).
- Update specfile to build
  as-fate318433-prevent-same-account-multi-logins.patch on SLE15.
- Remove redundant %clean section; use %_smp_mflags for build.
- Update to version 0.6.45:
  + Wrap password expiration info in libaccountsservice api.
- Changes from version 0.6.44:
  + Export password expiration info from shadow file.
  + Fix user classification logic.
  + Don't lose track of users when /etc/passwd is reloaded.
- Drop accountsservice-933083-load-root-setting.patch:
  fixed upstream (177509 edac45).
- Rebase accountsservice-933083-load-root-setting.patch.
- Update to version 0.6.43:
  + Fix logout times in login-history.
  + Increase performance in large deployments.
  + Memory leak fix.
  + Exclude nologin users from user list.
- Update accountsservice-sysconfig.patch:
  Flush the buffer before shut down the GIOChannel, otherwise we
  get a truncated setting file. The problem has caused the
  switching autologin in gnome-control-center breaking
  /etc/sysconfig/displaymanager (bsc#998107).
- Enable as-fate318433-prevent-same-account-multi-logins.patch for
  Leap as requested by the Leap Release Manager (boo#994876).
- Remove pkgconfig(libsystemd-daemon). Nowadays
  pkgconfig(libsystemd) is enough and replaces all libsystemd-*
  libs which are obsolete.
- Update to version 0.6.42:
  + Wtmp fixes on solaris.
  + Allow a user to change his own data even if he's remote.
  + Add way to set password hint independent of password.
  + Conform to modern systemd library naming scheme.
  + Disable GVFS support in service, since it's not needed and has
    bad side effects.
- Replace pkgconfig(libsystemd-login) for pkgconfig(libsystemd)
  BuildRequires following upstream changes.
- Add as-fate318433-prevent-same-account-multi-logins.patch
  (fate#318433):
  Prevent multiple simultaneous logins.
- Update to GNOME 3.20  Fate#318572
- Rebased accountsservice-933083-load-root-setting.patch.
- Updated Url.
- Add accountsservice-933083-load-root-setting.patch (bnc#933083)
  Load settings of an account which is not 'human' but can still be
  able to login to the system. (like 'root')
- Update to version 0.6.40:
  + Support large UIDs better.
  + Don't require X11 display to fetch user with X11 session.
  + Ensure accountsservice doesn't start before NSS works.
- Update to version 0.6.39:
  + Fix ListCachedUsers race at startup.
  + Add new api for uncaching user.
  + Fix memory corruption bug.
  + Build goo changes.
- Pass --enable-user-heuristics to configure to ensure that legacy
  users are still shown in GDM facebrowser.
- Update to version 0.6.38:
  + Fix polkit policy for non-desktop cases.
  + Fix for a race when new user appears.
  + Some clearer log and debug messages.
- Update to version 0.6.37:
  + BSD fixes.
- Changes from version 0.6.36:
  + Fixes for deleting users.
  + Leak fix.
  + Change user classification logic.
  + BSD fixes.
- Rebase accountsservice-sysconfig.patch and
  accountsservice-filter-suse-accounts.patch.
- Update to version 0.6.35:
  + Handle non-existent users better.
  + Misc bug fixes.
  + Misc clean ups.
  + Emit "changed" signal when account type changes for user.
  + Stop shipping vapi files.
  + Avoid connecting to ConsoleKit on logind systems.
  + Add extension interface.
  + Add --enable-coverage option for gcov support.
- Rebase accountsservice-sysconfig.patch and
  accountsservice-filter-suse-accounts.patch.
- Drop accountsservice-remotePW-verification.patch: fixed upstream.
- Add accountsservice-remotePW-verification.patch: treat NULL
  shadow entry as "password handled remotely" (bnc#844933,
  bgo#708997, fdo#70005).
- Update to version 0.6.34:
  + Try to sanitize automatic login setting when user account is
    deleted or disabled (fdo#54506).
  + Fix build.
- Changes from version 0.6.33:
  + Keep track of non-graphical sessions (fdo#65160).
  + Forget obsolete sessions (fdo#65159).
  + Monitor wtmp for changes (fdo#63159).
  + Ignore non-user sessions (fdo#701514).
  + Rework system account handling (fdo#64769).
    - Never treat cached users as system accounts.
    - Add gdm, gnome-initial-setup users to blacklist.
    - Store system-account bit in key file.
    - Cache newly-created users explicitly.
- Rebase accountsservice-filter-suse-accounts.patch.
- Update to version 0.6.32:
  + Don't treat remote users as system accounts (fdo#64186).
  + Clean up spawn_with_login_uid error handling (fdo#55067).
  + Quit on SIGINT/SIGTERM (fdo#63869).
  + Make --debug work as expected (fdo#63870).
  + Remove newlines from debug output (fdo#63871).
  + Fix mismatched function signature (fdo#63873).
  + Fix gir/vapi warnings (fdo#63875).
  + Fix documentation warnings (fdo#63880).
- Update to version 0.6.31:
  + Check for logind, not systemd (bgo#62586).
  + Add --enable-admin-group configure option (bgo#62235).
  + Be more aggressive at excluding system accounts (bgo#48178).
  + Fix xsession property notification (bgo#58493).
  + Fix login history variant handling (bgo#58466).
- Rebase accountsservice-sysconfig.patch.
- Update to version 0.6.30:
  + Minor source clean ups.
  + Crasher fix on 32bit systems.
  + Add get_user_by_id.
  + Don't lose sessions list for users at startup.
  + Add API for detecting when accountsservice is unavailable.
- Update to version 0.6.29:
  + Translate D-Bus errors to local errors in libaccountsservice.
  + Fix a wrong property name in the login history support.
- Update to version 0.6.28:
  + Fix act_user_manager_delete_user_finish.
  + Fix handling of LoginTime and LoginHistory properties.
- Changes from version 0.6.27:
  + Fix warnings when the singleton user manager object is
    finalized.
  + Generated docs for libaccountsservice.
  + Initialize local_acount to TRUE.
  + Add async api for user creation, caching and deletion.
- Update to version 0.6.26:
  + Require libsystemd-login 186.
  + Protect against deleting root user.
  + Add LoginTime and LoginHistory properties.
  + Fix crash consolekit code.
  + Fix has_multiple_user property after removing user.
- Update to version 0.6.25:
  + Uninitialized variable fix
  + Typo fix
  + Create data dirs just-in-time
  + Ignore closing sessions for is_logged_in test
  + Disable NULL user for delete_user call
  + Updated translations.
- Update to version 0.6.24:
  + add User.Local property for identifying local users.
- Update to version 0.6.23:
  + Fix up some debug output.
  + add new CacheUser and UncacheUser apis.
  + uncache user before deleting user.
- Add the user 'fax' to the exception list (bnc#771177).
- Update to version 0.6.22:
  + Correct CVE-2012-2737, local file disclosure
  + small memory leak fix
  + exclude system accounts from ListCachedUsers
  + make has-multiple-users properly only check non-system users
  + remove icon when deleting user
  + Revert usage of getpwent() as fallback for fgetpwent
  + support consolekit call cancellation to prevent crashes caused
    by shortlived sessions
  + ignore built files in .gitignore
  + quiet down build goo nagging
- Drop accountsservice-CVE-2012-2737.patch: fixed upstream.
- Add accountsservice-CVE-2012-2737.patch: fix local file
  disclosure flaw. Fix bnc#768807, CVE-2012-2737.
- Add users cyrus, ldap and mailman to the openSUSE specific users
  to be excluded (accountsservice-filter-suse-accounts.patch).
  Fixes bnc#765487.
- Update to version 0.6.21:
  + Detect old versions of systemd and fall back to ConsoleKit
  + Exclude users without a valid shell
  + Fix log spew
- Update to version 0.6.20:
  + Fix user listing which broke in previous release
- Changes from version 0.6.19:
  + Fix spurious warnings in logs
  + Make userdel succeed even if user is already logged in
  + Exclude users with no shell
  + Exclude "at" user
- Drop accountsservice-filter-more-accounts.patch and
  accountsservice-filter-no-shell.patch: fixed upstream.
- Add back accountsservice-filter-more-accounts.patch to filter the
  at user.
- Add accountsservice-filter-no-shell.patch to filter users with no
  shell, which happens when NIS is setup.
- This should fix bnc#757662.
- Rebase accountsservice-filter-suse-accounts.patch.
- Update to version 0.6.18:
  + Fix systemd configure check
  + Add a few more common system accounts to the blacklist
  + Fix some issues in systemd session handling
- Drop accountsservice-filter-more-accounts.patch: fixed upstream.
- Drop accountsservice-fix-systemd-test-always-evaluating-true.patch:
  fixed upstream.
- Add accountsservice-filter-more-accounts.patch: filter out ftp,
  games, man and mysql system users too, taken from git.
- Add accountsservice-filter-suse-accounts.patch: filter out some
  openSUSE-specific accounts (beagleindex, suse-ncc).
- Add accountsservice-fix-systemd-test-always-evaluating-true.patch
  Make it possible to build accountsservice without systemd
  (fdo#48190).
- Update to version 0.6.17:
  + Fix user filtering which was broken in 0.6.16
  + Fix double free in user code
- Update to version 0.6.16:
  + Don't filter out users below UID_MIN in login.defs
  + Filter out users with invalid shells
  + Use infinite timeout for ListCachedUsers calls
  + Port to GDBus
  + Add systemd support
  + Build fixes for srcdir != builddir
  + Vala support and introspection fixes
  + PPC32 fixes
  + Updated translations.
- Drop pkgconfig(dbus-glib-1) BuildRequires: dependency is gone
  upstream.
- Enable support for systemd session tracking:
  + Note that it will fall back to ConsoleKit at runtime, so it's
    fine to build it.
  + Add pkgconfig() BuildRequires: libsystemd-login,
    libsystemd-daemon.
- Rebase accountsservice-sysconfig.patch.
- Add vala BuildRequires, which is now needed because of the
  gnome-autogen.sh call.
- Fix systemd-related packaging:
  + Use %{?systemd_requires}.
  + Call %service_{add,del}_* macros in scriptlets for
    accounts-daemon.service.
- Remove xz BuildRequires now that it comes for free in the build
  system.
- Split typelib file into typelib-1_0-AccountsService-1_0
  subpackage.
- Add typelib-1_0-AccountsService-1_0 Requires to devel subpackage.
- Update to version 0.6.15:
  + Only accept regular files as icons
  + Don't track non-graphical sessions
  + Fix wtmp handling
  + Fix build on FreeBSD and OpenBSD
- Drop accountsservice-regular-file-for-icon.patch: fixed upstream.
- Add accountsservice-regular-file-for-icon.patch: only use regular
  files when setting user icon. Part of bnc#676638.
- Update to version 0.6.14:
  + Ignore extraneous SetAutomaticLogin(false) calls for a user
  + Monitor /etc/gdm/custom.conf for changes in autologin config
  + Fix fast user switching
  + Fix docs to build
  + Updated translations.
- Rebase accountsservice-sysconfig.patch, and add gnome-common
  BuildRequires and call to gnome-autogen.sh since it's easier to
  rebase the patch without Makefile.in.
- Add gobject-introspection-devel BuildRequires to build
  introspection data.
- Add accountsservice-sysconfig.patch: read and write autologin
  configuration from sysconfig, as done in gdm. Fix bnc#688071.
- Update to version 0.6.13:
  + Honor aclocal flags environment variable
  + Set log domain so it can be hushed
  + Use wtmp instead of consolekit for determining login frequency
  + Leak and warning fixes
  + Clean up polkit deprecation warnings
  + Add '--' before username to account helper programs
- Add xz BuildRequires because we can't build a package for a
  xz-compressed tarball without explicitly specifying that... See
  bnc#697467 for more details.
- Update to version 0.6.12:
  + The usual pile of race fixes
- Changes from version 0.6.11:
  + Add API for adding users to the library.
- Drop rpmlintrc as the necessary changes have now been done in
  both rpmlint (for suse-dbus-unauthorized-service) and in
  polkit-default-privs (for polkit-unauthorized-privilege).
- Update to version 0.6.10:
  + An assortment of race fixes
  + Updated translations
- Changes from version 0.6.9:
  + Add a 'system-account' property to users
- Update download url for tarball.
- Add pkgconfig(systemd) to BuildRequires and package systemd
  configuration file for accountsservice.
- Update to version 0.6.8:
  + use same rules for parsing booleans from gdm config as gdm.
- Update to version 0.6.7:
  + Fix call to useradd for normal users
  + Correct free array of groups
  + Updated translations
- Changes from version 0.6.6:
  + Make it possible to disable user icon
  + Drop Supervised user role
  + Use "wheel" instead of "desktop_admin_r" as admin group
    since that's what everyone uses for this purpose anyway.
  + Crasher fixes
  + Misc distro integration fixes
  + Updated translations
- Changes from version 0.6.5:
  + No longer return excluded users from cached listings
  + Add a --debug command line option
  + Use proper dbus proxy for settings api in client lib
  + Expose XSession property over bus
- Enforce dependency on main package in library package by changing
  Recommends to Requires.
- Add a rpmlintrc to ignore security-related rpmlint warnings that
  make the build fail on Factory. This needs to get removed when
  entering Factory, though.
- Cleanup for inclusion in Factory.
- Update to version 0.6.4:
  - fix typo in HomeDirectory property
  - fix bug in asynchronous loading code
  - drop some random g_print's
- Changes from version 0.6.3:
  + Add more getters to client library
  + Add an initial cut at a setter api
  + Add XSession property type
- Changes from version 0.6.2:
  + Remove the unused UserChanged signal
  + Add a small client library, based on code from gdm
  + Don't use gnome-common
  + Use the user-administration privilege for autologin changes
- Changes from version 0.6.1:
  + Always emit the changed signal when setting user photo
  + Install systemd unit files
  + Translation updates
- Changes from version 0.6:
  + Always require user-administration privilege when setting a
    password or changing a username
  + Allow changing password mode and password even when the
    account is locked, and unlock it as a side-effect
  + Use /etc/shadow to store account locking and 'set password at
    next login' information and monitor /etc/shadow for changes
  + Set loginuid when runing commands on behalf of a user to
    generate proper audit records
  + Drop SetIconData and make SetIconFile copy the file when
    appropriate.  As a consequence, the service no longer links
    against image libraries.
  + Various other robustness and error-handling fixes
- Changes from version 0.5:
  + Make initial user list call work
  + Avoid extraneous commandline parsing
- Package directories used by daemon to store user data:
  /var/lib/AccountsService and subdirectories.
- New package (version 0.4).

OBS-URL: https://build.opensuse.org/request/show/692039
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/accountsservice?expand=0&rev=128
This commit is contained in:
Dominique Leuenberger 2019-04-11 14:48:47 +00:00 committed by Git OBS Bridge
parent 18020fd151
commit 8682adb6c9
8 changed files with 292 additions and 95 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:035928f5dea46f2220657e0bd669bc7fac45165b700c0a81b2b66ff2c3dbc74a
size 384484

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26e9062c84797e9604182d0efdb2231cb01c98c3c9b0fea601ca79a2802d21ac
size 93048

View File

@ -1,35 +0,0 @@
From c7fa612023a163e8b2352e1170c6df3fceb19b27 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
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

View File

@ -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,

View File

@ -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',

View File

@ -0,0 +1,196 @@
From a8f368c34e826f76d1244fed5095a1615c986b59 Mon Sep 17 00:00:00 2001
From: Alexey Shabalin <shaba@altlinux.org>
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 <withnall@endlessm.com>
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 <withnall@endlessm.com>
---
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 <argebam2a@yahoo.co.jp>
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

View File

@ -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 <jengelh@inai.de>
@ -5,6 +14,35 @@ Sun Mar 17 10:52:44 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- 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

View File

@ -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