summaryrefslogtreecommitdiff
path: root/extra/accountsservice
diff options
context:
space:
mode:
Diffstat (limited to 'extra/accountsservice')
-rw-r--r--extra/accountsservice/PKGBUILD19
-rw-r--r--extra/accountsservice/git-fixes.patch245
-rw-r--r--extra/accountsservice/more-exclusions.patch11
3 files changed, 6 insertions, 269 deletions
diff --git a/extra/accountsservice/PKGBUILD b/extra/accountsservice/PKGBUILD
index bd401ee3f..8f6fcd1ff 100644
--- a/extra/accountsservice/PKGBUILD
+++ b/extra/accountsservice/PKGBUILD
@@ -1,26 +1,19 @@
-# $Id: PKGBUILD 193628 2013-08-26 09:59:39Z jgc $
+# $Id: PKGBUILD 196649 2013-10-15 23:17:13Z heftig $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=accountsservice
-pkgver=0.6.34
-pkgrel=2
+pkgver=0.6.35
+pkgrel=1
pkgdesc="D-Bus interface for user account query and manipulation"
arch=(i686 x86_64)
url="http://www.freedesktop.org/software/accountsservice/"
license=('GPL3')
depends=('glib2' 'polkit' 'systemd')
-makedepends=('intltool' 'gobject-introspection' 'vala')
+makedepends=('intltool' 'gobject-introspection')
options=('!libtool')
-source=($url/$pkgname-$pkgver.tar.xz more-exclusions.patch git-fixes.patch)
-md5sums=('dbf4323b688a314b4bf76890ad6d5279'
- '45ef529fb38d32ec7a1d03005dd20ced'
- '5082c3ba917c520b70f3c5089cb02c9c')
+source=($url/$pkgname-$pkgver.tar.xz)
+md5sums=('3a81133e95faafb603de4475802cb06a')
-prepare() {
- cd $pkgname-$pkgver
- patch -Np1 -i ../git-fixes.patch
- patch -Np1 -i ../more-exclusions.patch
-}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc \
diff --git a/extra/accountsservice/git-fixes.patch b/extra/accountsservice/git-fixes.patch
deleted file mode 100644
index b0c3c4019..000000000
--- a/extra/accountsservice/git-fixes.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-diff --git a/src/daemon.c b/src/daemon.c
-index ec5cc82..f85050a 100644
---- a/src/daemon.c
-+++ b/src/daemon.c
-@@ -256,6 +256,13 @@ typedef struct {
- GHashTable *logout_hash;
- } WTmpGeneratorState;
-
-+static void
-+user_previous_login_free (UserPreviousLogin *previous_login)
-+{
-+ g_free (previous_login->id);
-+ g_free (previous_login);
-+}
-+
- static struct passwd *
- entry_generator_wtmp (GHashTable *users,
- gpointer *state)
-@@ -365,11 +372,7 @@ entry_generator_wtmp (GHashTable *users,
-
- user = g_hash_table_lookup (users, key);
- if (user == NULL) {
-- for (l = accounting->previous_logins; l != NULL; l = l->next) {
-- previous_login = l->data;
-- g_free (previous_login->id);
-- }
-- g_list_free (accounting->previous_logins);
-+ g_list_free_full (accounting->previous_logins, (GDestroyNotify) user_previous_login_free);
- continue;
- }
-
-@@ -384,11 +387,10 @@ entry_generator_wtmp (GHashTable *users,
- g_variant_builder_add (builder2, "{sv}", "type", g_variant_new_string (previous_login->id));
- g_variant_builder_add (builder, "(xxa{sv})", previous_login->login_time, previous_login->logout_time, builder2);
- g_variant_builder_unref (builder2);
-- g_free (previous_login->id);
- }
- g_object_set (user, "login-history", g_variant_new ("a(xxa{sv})", builder), NULL);
- g_variant_builder_unref (builder);
-- g_list_free (accounting->previous_logins);
-+ g_list_free_full (accounting->previous_logins, (GDestroyNotify) user_previous_login_free);
-
- user_changed (user);
- }
-@@ -491,7 +493,7 @@ entry_generator_cachedir (GHashTable *users,
- key_file = g_key_file_new ();
- if (g_key_file_load_from_file (key_file, filename, 0, NULL))
- user_update_from_keyfile (user, key_file);
-- g_key_file_free (key_file);
-+ g_key_file_unref (key_file);
- g_free (filename);
- }
-
-diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c
-index fd660e5..cf2cbfa 100644
---- a/src/libaccountsservice/act-user-manager.c
-+++ b/src/libaccountsservice/act-user-manager.c
-@@ -1178,6 +1178,28 @@ get_current_session_id (ActUserManager *manager)
- return;
- }
- #endif
-+
-+ if (manager->priv->ck_manager_proxy == NULL) {
-+ GError *error = NULL;
-+
-+ manager->priv->ck_manager_proxy = console_kit_manager_proxy_new_sync (manager->priv->connection,
-+ G_DBUS_PROXY_FLAGS_NONE,
-+ CK_NAME,
-+ CK_MANAGER_PATH,
-+ NULL,
-+ &error);
-+ if (manager->priv->ck_manager_proxy == NULL) {
-+ if (error != NULL) {
-+ g_warning ("Failed to create ConsoleKit proxy: %s", error->message);
-+ g_error_free (error);
-+ } else {
-+ g_warning ("Failed to create_ConsoleKit_proxy");
-+ }
-+ unload_seat (manager);
-+ return;
-+ }
-+ }
-+
- console_kit_manager_call_get_current_session (manager->priv->ck_manager_proxy, NULL,
- on_get_current_session_finished,
- g_object_ref (manager));
-@@ -1933,12 +1955,13 @@ reload_systemd_sessions (ActUserManager *manager)
- }
-
- #endif
--static void
-+static gboolean
- on_session_monitor_event (GPollableInputStream *stream,
- ActUserManager *manager)
- {
- sd_login_monitor_flush (manager->priv->seat.session_monitor);
- reload_systemd_sessions (manager);
-+ return TRUE;
- }
-
- static void
-@@ -2535,9 +2558,13 @@ load_seat_incrementally (ActUserManager *manager)
- static gboolean
- load_idle (ActUserManager *manager)
- {
-+ /* The order below is important: load_seat_incrementally might
-+ set "is-loaded" immediately and we thus need to call
-+ load_users before it.
-+ */
-+ load_users (manager);
- manager->priv->seat.state = ACT_USER_MANAGER_SEAT_STATE_UNLOADED + 1;
- load_seat_incrementally (manager);
-- load_users (manager);
- manager->priv->load_id = 0;
-
- return FALSE;
-@@ -2805,22 +2832,6 @@ act_user_manager_init (ActUserManager *manager)
- G_CALLBACK (on_user_removed_in_accounts_service),
- manager);
-
-- manager->priv->ck_manager_proxy = console_kit_manager_proxy_new_sync (manager->priv->connection,
-- G_DBUS_PROXY_FLAGS_NONE,
-- CK_NAME,
-- CK_MANAGER_PATH,
-- NULL,
-- &error);
-- if (manager->priv->ck_manager_proxy == NULL) {
-- if (error != NULL) {
-- g_warning ("Failed to create ConsoleKit proxy: %s", error->message);
-- g_error_free (error);
-- } else {
-- g_warning ("Failed to create_ConsoleKit_proxy");
-- }
-- return;
-- }
--
- manager->priv->seat.state = ACT_USER_MANAGER_SEAT_STATE_UNLOADED;
- }
-
-diff --git a/src/libaccountsservice/act-user.h b/src/libaccountsservice/act-user.h
-index 31b2cc6..e2966f4 100644
---- a/src/libaccountsservice/act-user.h
-+++ b/src/libaccountsservice/act-user.h
-@@ -64,7 +64,9 @@ const char *act_user_get_shell (ActUser *user);
- const char *act_user_get_email (ActUser *user);
- const char *act_user_get_location (ActUser *user);
- guint act_user_get_num_sessions (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_anywhere (ActUser *user);
- int act_user_get_login_frequency (ActUser *user);
- gint64 act_user_get_login_time (ActUser *user);
- const GVariant*act_user_get_login_history (ActUser *user);
-diff --git a/src/user.c b/src/user.c
-index 5271b63..661067a 100644
---- a/src/user.c
-+++ b/src/user.c
-@@ -78,6 +78,8 @@ struct User {
-
- Daemon *daemon;
-
-+ GKeyFile *keyfile;
-+
- uid_t uid;
- gid_t gid;
- gchar *user_name;
-@@ -360,6 +362,9 @@ user_update_from_keyfile (User *user,
- }
- }
-
-+ g_clear_pointer (&user->keyfile, g_key_file_unref);
-+ user->keyfile = g_key_file_ref (keyfile);
-+
- g_object_thaw_notify (G_OBJECT (user));
- }
-
-@@ -387,6 +392,8 @@ static void
- user_save_to_keyfile (User *user,
- GKeyFile *keyfile)
- {
-+ g_key_file_remove_group (keyfile, "User", NULL);
-+
- if (user->email)
- g_key_file_set_string (keyfile, "User", "Email", user->email);
-
-@@ -412,15 +419,13 @@ static void
- save_extra_data (User *user)
- {
- gchar *filename;
-- GKeyFile *keyfile;
- gchar *data;
- GError *error;
-
-- keyfile = g_key_file_new ();
-- user_save_to_keyfile (user, keyfile);
-+ user_save_to_keyfile (user, user->keyfile);
-
- error = NULL;
-- data = g_key_file_to_data (keyfile, NULL, &error);
-+ data = g_key_file_to_data (user->keyfile, NULL, &error);
- if (error == NULL) {
- filename = g_build_filename (USERDIR,
- user->user_name,
-@@ -433,7 +438,6 @@ save_extra_data (User *user)
- user->user_name, error->message);
- g_error_free (error);
- }
-- g_key_file_free (keyfile);
- }
-
- static void
-@@ -1816,6 +1820,8 @@ user_finalize (GObject *object)
-
- user = USER (object);
-
-+ g_clear_pointer (&user->keyfile, g_key_file_unref);
-+
- g_free (user->object_path);
- g_free (user->user_name);
- g_free (user->real_name);
-@@ -1829,6 +1835,9 @@ user_finalize (GObject *object)
- g_free (user->location);
- g_free (user->password_hint);
-
-+ if (user->login_history)
-+ g_variant_unref (user->login_history);
-+
- if (G_OBJECT_CLASS (user_parent_class)->finalize)
- (*G_OBJECT_CLASS (user_parent_class)->finalize) (object);
- }
-@@ -1861,6 +1870,8 @@ user_set_property (GObject *object,
- user->login_time = g_value_get_int64 (value);
- break;
- case PROP_LOGIN_HISTORY:
-+ if (user->login_history)
-+ g_variant_unref (user->login_history);
- user->login_history = g_variant_ref (g_value_get_variant (value));
- break;
- case PROP_AUTOMATIC_LOGIN:
-@@ -2031,4 +2042,5 @@ user_init (User *user)
- user->automatic_login = FALSE;
- user->system_account = FALSE;
- user->login_history = NULL;
-+ user->keyfile = g_key_file_new ();
- }
diff --git a/extra/accountsservice/more-exclusions.patch b/extra/accountsservice/more-exclusions.patch
deleted file mode 100644
index b9753b24b..000000000
--- a/extra/accountsservice/more-exclusions.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -u -r accountsservice-0.6.34/src/daemon.c accountsservice-0.6.34-more/src/daemon.c
---- accountsservice-0.6.34/src/daemon.c 2013-06-11 17:50:37.000000000 +0200
-+++ accountsservice-0.6.34-more/src/daemon.c 2013-07-09 15:06:46.608425655 +0200
-@@ -55,6 +55,7 @@
- #endif
-
- static const char *default_excludes[] = {
-+ "git",
- "bin",
- "root",
- "daemon",