Accepting request 730085 from home:zhangxiaofei:branches:GNOME:Factory
- Add accountsservice-wtmp-io-improvements.patch: Backports that improve wtmp io performance (boo#1139487). - Refresh as-fate318433-prevent-same-account-multi-logins.patch. OBS-URL: https://build.opensuse.org/request/show/730085 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/accountsservice?expand=0&rev=136
This commit is contained in:
parent
ed99d8f9dc
commit
eeefec6745
34
accountsservice-wtmp-io-improvements.patch
Normal file
34
accountsservice-wtmp-io-improvements.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 64b11314ea71b5e22edf4d968347489c5d5acd01 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
|
Date: Thu, 9 May 2019 14:58:34 -0400
|
||||||
|
Subject: [PATCH] data: don't send change updates for login-history
|
||||||
|
|
||||||
|
The login-history property of user objects can be quite large.
|
||||||
|
If wtmp is changed frequently, that can lead to memory fragmentation
|
||||||
|
in clients.
|
||||||
|
|
||||||
|
Furthermore, most clients never check login-history, so it's
|
||||||
|
wasted memory and wasted cpu.
|
||||||
|
|
||||||
|
This commit disables change notification for that property. If
|
||||||
|
a client really needs to get updates, they can manually refresh
|
||||||
|
their cache when appropriate.
|
||||||
|
---
|
||||||
|
data/org.freedesktop.Accounts.User.xml | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/data/org.freedesktop.Accounts.User.xml b/data/org.freedesktop.Accounts.User.xml
|
||||||
|
index 8d3fe1c..3b839a3 100644
|
||||||
|
--- a/data/org.freedesktop.Accounts.User.xml
|
||||||
|
+++ b/data/org.freedesktop.Accounts.User.xml
|
||||||
|
@@ -812,6 +812,7 @@
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property name="LoginHistory" type="a(xxa{sv})" access="read">
|
||||||
|
+ <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
|
||||||
|
<doc:doc>
|
||||||
|
<doc:description>
|
||||||
|
<doc:para>
|
||||||
|
--
|
||||||
|
2.16.4
|
||||||
|
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 11 08:10:52 UTC 2019 - Felix Zhang <fezhang@suse.com>
|
||||||
|
|
||||||
|
- Add accountsservice-wtmp-io-improvements.patch: Backports that
|
||||||
|
improve wtmp io performance (boo#1139487).
|
||||||
|
- Refresh as-fate318433-prevent-same-account-multi-logins.patch.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed May 29 21:28:30 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
|
Wed May 29 21:28:30 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||||
|
|
||||||
|
@ -32,6 +32,8 @@ Patch0: accountsservice-sysconfig.patch
|
|||||||
Patch1: accountsservice-filter-suse-accounts.patch
|
Patch1: accountsservice-filter-suse-accounts.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
|
# 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
|
Patch2: accountsservice-read-root-user-cache.patch
|
||||||
|
# PATCH-FIX-UPSTREAM accountsservice-wtmp-io-improvements.patch boo#1139487 fezhang@suse.com -- Backports that improve wtmp io performance.
|
||||||
|
Patch3: accountsservice-wtmp-io-improvements.patch
|
||||||
|
|
||||||
## SLE-only patches start at 1000
|
## 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.
|
# PATCH-FEATURE-SLE as-fate318433-prevent-same-account-multi-logins.patch fate#318433 cxiong@suse.com -- prevent multiple simultaneous login.
|
||||||
@ -98,6 +100,7 @@ querying and manipulating user account information.
|
|||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
# Sle-only patches start at 1000
|
# Sle-only patches start at 1000
|
||||||
%if !0%{?is_opensuse}
|
%if !0%{?is_opensuse}
|
||||||
|
@ -1,28 +1,8 @@
|
|||||||
Index: accountsservice-0.6.40/src/libaccountsservice/act-user-manager.c
|
Index: b/src/libaccountsservice/act-user-manager.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- accountsservice-0.6.40.orig/src/libaccountsservice/act-user-manager.c
|
--- a/src/libaccountsservice/act-user-manager.c 2019-09-11 17:40:53.726949739 +0800
|
||||||
+++ accountsservice-0.6.40/src/libaccountsservice/act-user-manager.c
|
+++ b/src/libaccountsservice/act-user-manager.c 2019-09-11 17:41:00.547007450 +0800
|
||||||
@@ -751,8 +751,17 @@ _get_systemd_seat_id (ActUserManager *ma
|
@@ -1752,12 +1752,22 @@ maybe_add_new_session (ActUserManagerNew
|
||||||
char *seat_id;
|
|
||||||
|
|
||||||
res = sd_session_get_seat (NULL, &seat_id);
|
|
||||||
-
|
|
||||||
- if (res == -ENOENT) {
|
|
||||||
+ /**
|
|
||||||
+ * NOTE: There is no -ENOENT errnum for `sd_session_get_seat`. This
|
|
||||||
+ * possibly an upstream bug. There are also other dubious occurrences of
|
|
||||||
+ * -ENOENT within the source.
|
|
||||||
+ *
|
|
||||||
+ * Change to -ENODATA as this is the normal return for non-seated
|
|
||||||
+ * session like VNC ones and should not report errors. O/w no user
|
|
||||||
+ * sessions will be analyzed.
|
|
||||||
+ */
|
|
||||||
+ /* see https://www.freedesktop.org/software/systemd/man/sd_session_is_active.html */
|
|
||||||
+ if (res == -ENODATA) {
|
|
||||||
seat_id = NULL;
|
|
||||||
} else if (res < 0) {
|
|
||||||
g_warning ("Could not get current seat: %s",
|
|
||||||
@@ -1700,12 +1709,22 @@ maybe_add_new_session (ActUserManagerNew
|
|
||||||
if (new_session->x11_display == NULL) {
|
if (new_session->x11_display == NULL) {
|
||||||
g_debug ("AcUserManager: (mostly) ignoring session '%s' since it's not graphical",
|
g_debug ("AcUserManager: (mostly) ignoring session '%s' since it's not graphical",
|
||||||
new_session->id);
|
new_session->id);
|
||||||
@ -46,11 +26,11 @@ Index: accountsservice-0.6.40/src/libaccountsservice/act-user-manager.c
|
|||||||
is_ours = FALSE;
|
is_ours = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: accountsservice-0.6.40/src/libaccountsservice/act-user.c
|
Index: b/src/libaccountsservice/act-user.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- accountsservice-0.6.40.orig/src/libaccountsservice/act-user.c
|
--- a/src/libaccountsservice/act-user.c 2019-09-11 17:40:53.726949739 +0800
|
||||||
+++ accountsservice-0.6.40/src/libaccountsservice/act-user.c
|
+++ b/src/libaccountsservice/act-user.c 2019-09-11 17:41:00.547007450 +0800
|
||||||
@@ -936,6 +936,8 @@ act_user_is_logged_in (ActUser *user)
|
@@ -868,6 +868,8 @@ act_user_is_logged_in (ActUser *user)
|
||||||
* (Currently, this function is only implemented for systemd-logind.
|
* (Currently, this function is only implemented for systemd-logind.
|
||||||
* For ConsoleKit, it is equivalent to act_user_is_logged_in.)
|
* For ConsoleKit, it is equivalent to act_user_is_logged_in.)
|
||||||
*
|
*
|
||||||
@ -59,7 +39,7 @@ Index: accountsservice-0.6.40/src/libaccountsservice/act-user.c
|
|||||||
* Returns: %TRUE or %FALSE
|
* Returns: %TRUE or %FALSE
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
@@ -945,6 +947,24 @@ act_user_is_logged_in_anywhere (ActUser
|
@@ -896,6 +898,24 @@ act_user_get_saved (ActUser *user)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -84,10 +64,10 @@ Index: accountsservice-0.6.40/src/libaccountsservice/act-user.c
|
|||||||
* act_user_get_locked:
|
* act_user_get_locked:
|
||||||
* @user: a #ActUser
|
* @user: a #ActUser
|
||||||
*
|
*
|
||||||
Index: accountsservice-0.6.40/src/libaccountsservice/act-user.h
|
Index: b/src/libaccountsservice/act-user.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- accountsservice-0.6.40.orig/src/libaccountsservice/act-user.h
|
--- a/src/libaccountsservice/act-user.h 2019-09-11 17:40:53.726949739 +0800
|
||||||
+++ accountsservice-0.6.40/src/libaccountsservice/act-user.h
|
+++ b/src/libaccountsservice/act-user.h 2019-09-11 17:41:00.547007450 +0800
|
||||||
@@ -67,6 +67,7 @@ guint act_user_get_num_sessions
|
@@ -67,6 +67,7 @@ guint act_user_get_num_sessions
|
||||||
guint act_user_get_num_sessions_anywhere (ActUser *user);
|
guint act_user_get_num_sessions_anywhere (ActUser *user);
|
||||||
gboolean act_user_is_logged_in (ActUser *user);
|
gboolean act_user_is_logged_in (ActUser *user);
|
||||||
|
Loading…
Reference in New Issue
Block a user