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>
|
||||
|
||||
|
@ -32,6 +32,8 @@ Patch0: accountsservice-sysconfig.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
|
||||
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
|
||||
# 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
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
# Sle-only patches start at 1000
|
||||
%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
|
||||
+++ accountsservice-0.6.40/src/libaccountsservice/act-user-manager.c
|
||||
@@ -751,8 +751,17 @@ _get_systemd_seat_id (ActUserManager *ma
|
||||
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
|
||||
--- a/src/libaccountsservice/act-user-manager.c 2019-09-11 17:40:53.726949739 +0800
|
||||
+++ b/src/libaccountsservice/act-user-manager.c 2019-09-11 17:41:00.547007450 +0800
|
||||
@@ -1752,12 +1752,22 @@ maybe_add_new_session (ActUserManagerNew
|
||||
if (new_session->x11_display == NULL) {
|
||||
g_debug ("AcUserManager: (mostly) ignoring session '%s' since it's not graphical",
|
||||
new_session->id);
|
||||
@ -46,11 +26,11 @@ Index: accountsservice-0.6.40/src/libaccountsservice/act-user-manager.c
|
||||
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
|
||||
+++ accountsservice-0.6.40/src/libaccountsservice/act-user.c
|
||||
@@ -936,6 +936,8 @@ act_user_is_logged_in (ActUser *user)
|
||||
--- a/src/libaccountsservice/act-user.c 2019-09-11 17:40:53.726949739 +0800
|
||||
+++ b/src/libaccountsservice/act-user.c 2019-09-11 17:41:00.547007450 +0800
|
||||
@@ -868,6 +868,8 @@ act_user_is_logged_in (ActUser *user)
|
||||
* (Currently, this function is only implemented for systemd-logind.
|
||||
* 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
|
||||
*/
|
||||
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:
|
||||
* @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
|
||||
+++ accountsservice-0.6.40/src/libaccountsservice/act-user.h
|
||||
--- a/src/libaccountsservice/act-user.h 2019-09-11 17:40:53.726949739 +0800
|
||||
+++ b/src/libaccountsservice/act-user.h 2019-09-11 17:41:00.547007450 +0800
|
||||
@@ -67,6 +67,7 @@ guint act_user_get_num_sessions
|
||||
guint act_user_get_num_sessions_anywhere (ActUser *user);
|
||||
gboolean act_user_is_logged_in (ActUser *user);
|
||||
|
Loading…
Reference in New Issue
Block a user