From 169cfa2690cd0c4ca48b10d191a2956e3b12080e Mon Sep 17 00:00:00 2001 From: kwm Date: Tue, 4 Oct 2011 22:29:10 +0000 Subject: Update to 0.6.14. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@16362 df743ca5-7f9a-e211-a948-0013205c9059 --- sysutils/accountsservice/Makefile | 8 +-- sysutils/accountsservice/distinfo | 4 +- sysutils/accountsservice/files/patch-src_daemon.c | 63 ++++++++++++++++------ ...patch-src_libaccountsservice_act-user-manager.c | 30 +++++++++++ sysutils/accountsservice/files/patch-src_user.c | 42 +++++++++++++-- sysutils/accountsservice/pkg-plist | 3 ++ 6 files changed, 124 insertions(+), 26 deletions(-) create mode 100644 sysutils/accountsservice/files/patch-src_libaccountsservice_act-user-manager.c diff --git a/sysutils/accountsservice/Makefile b/sysutils/accountsservice/Makefile index b4fd9813c..7f5df9d4f 100644 --- a/sysutils/accountsservice/Makefile +++ b/sysutils/accountsservice/Makefile @@ -6,7 +6,7 @@ # PORTNAME= accountsservice -PORTVERSION= 0.6.12 +PORTVERSION= 0.6.14 CATEGORIES= sysutils devel MASTER_SITES= http://www.freedesktop.org/software/${PORTNAME}/ @@ -18,13 +18,13 @@ LIB_DEPENDS= xslt.2:${PORTSDIR}/textproc/libxslt \ dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \ polkit-gobject-1.0:${PORTSDIR}/sysutils/polkit -USE_BZIP2= yes +USE_XZ= yes USE_GNOME= gnomehack glib20 intlhack USE_GMAKE= yes GNU_CONFIGURE= yes USE_LDCONFIG= yes -CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ - LDFLAGS="-L${LOCALBASE}/lib" +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib post-patch: @${REINPLACE_CMD} -e 's|/etc/gdm/custom.conf|${LOCALBASE}/etc/gdm/custom.conf|g' \ diff --git a/sysutils/accountsservice/distinfo b/sysutils/accountsservice/distinfo index 3a8e882da..27e32accf 100644 --- a/sysutils/accountsservice/distinfo +++ b/sysutils/accountsservice/distinfo @@ -1,2 +1,2 @@ -SHA256 (accountsservice-0.6.12.tar.bz2) = 1f5d983d0e1b643f7085e90991455c5920d067096e1122ad1784fb96e22e2c62 -SIZE (accountsservice-0.6.12.tar.bz2) = 344686 +SHA256 (accountsservice-0.6.14.tar.xz) = fcf26f5198521392f11078a9177e430e0ca09bd6bc481b106fc0cbbc586bfd64 +SIZE (accountsservice-0.6.14.tar.xz) = 286220 diff --git a/sysutils/accountsservice/files/patch-src_daemon.c b/sysutils/accountsservice/files/patch-src_daemon.c index 984682068..34efc617a 100644 --- a/sysutils/accountsservice/files/patch-src_daemon.c +++ b/sysutils/accountsservice/files/patch-src_daemon.c @@ -1,8 +1,8 @@ ---- src/daemon.c.orig 2011-03-27 20:15:46.000000000 +0200 -+++ src/daemon.c 2011-03-27 20:25:07.000000000 +0200 -@@ -50,6 +50,9 @@ - #define PATH_SHADOW "/etc/shadow" +--- src/daemon.c.orig 2011-08-16 14:53:31.000000000 +0200 ++++ src/daemon.c 2011-10-05 00:17:22.000000000 +0200 +@@ -52,6 +52,9 @@ #define PATH_LOGIN_DEFS "/etc/login.defs" + #define PATH_GDM_CUSTOM "/etc/gdm/custom.conf" +#ifdef __FreeBSD__ +#define FALLBACK_MINIMAL_UID 1000 @@ -10,7 +10,25 @@ #ifndef FALLBACK_MINIMAL_UID #define FALLBACK_MINIMAL_UID 500 #endif -@@ -482,16 +485,24 @@ reload_passwd (Daemon *daemon) +@@ -243,7 +246,9 @@ reload_wtmp_history (Daemon *daemon) + GHashTableIter iter; + gpointer key, value; + ++#ifdef __linux__ + utmpxname(_PATH_WTMPX); ++#endif + setutxent (); + + login_frequency_hash = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, NULL); +@@ -326,22 +331,32 @@ reload_passwd (Daemon *daemon) + GSList *old_users; + GSList *new_users; + GSList *list; ++#ifndef __FreeBSD__ + FILE *fp; ++#endif + User *user = NULL; + old_users = NULL; new_users = NULL; @@ -33,35 +51,50 @@ for (pwent = fgetpwent (fp); pwent != NULL; pwent = fgetpwent (fp)) { +#endif /* Skip users below MINIMAL_UID... */ - if (user_is_excluded (daemon, pwent->pw_name, pwent->pw_uid)) { + if (daemon_local_user_is_excluded (daemon, pwent->pw_name, pwent->pw_uid)) { g_debug ("skipping user: %s", pwent->pw_name); -@@ -544,7 +555,11 @@ reload_passwd (Daemon *daemon) - out: - /* Cleanup */ +@@ -391,10 +406,13 @@ reload_passwd (Daemon *daemon) + } + } +- out: + /* Cleanup */ +- +- fclose (fp); +#ifdef __FreeBSD__ + endpwent (); +#else - fclose (fp); ++ out: ++ fclose (fp); +#endif g_slist_foreach (new_users, (GFunc) g_object_thaw_notify, NULL); g_slist_foreach (new_users, (GFunc) g_object_unref, NULL); -@@ -664,6 +679,13 @@ on_passwd_monitor_changed (GFileMonitor - reload_users (daemon); +@@ -427,8 +445,8 @@ reload_data (Daemon *daemon) + static void + reload_users (Daemon *daemon) + { +- reload_wtmp_history (daemon); + reload_passwd (daemon); ++ reload_wtmp_history (daemon); + reload_data (daemon); + } + +@@ -554,6 +572,13 @@ on_gdm_monitor_changed (GFileMonitor + queue_reload_autologin (daemon); } +#ifdef __FreeBSD__ +static uid_t +get_minimal_uid (void) -+{ -+ return FALLBACK_MINIMAL_UID; ++{ ++ return FALLBACK_MINIMAL_UID; +} +#else static uid_t get_minimal_uid (void) { -@@ -716,6 +738,7 @@ out: +@@ -606,6 +631,7 @@ out: g_free (contents); return uid; } diff --git a/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user-manager.c b/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user-manager.c new file mode 100644 index 000000000..d527371fa --- /dev/null +++ b/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user-manager.c @@ -0,0 +1,30 @@ +From fbf7d277d2ff7e69795a7880a67104811e0fd4a5 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Tue, 27 Sep 2011 23:55:43 +0000 +Subject: lib: Don't track non-graphical sessions + +If a user happens to be logged in at a VT, we don't +want to show them as "already logged in" or whatever. + +This commit filters out vt sessions in the same way it +filters out sessions associated with the login screen. +--- +diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c +index 2fd2394..3fea3dc 100644 +--- src/libaccountsservice/act-user-manager.c ++++ src/libaccountsservice/act-user-manager.c +@@ -1340,6 +1340,12 @@ maybe_add_new_session (ActUserManagerNewSession *new_session) + + manager = ACT_USER_MANAGER (new_session->manager); + ++ if (new_session->x11_display == NULL || new_session->x11_display[0] == '\0') { ++ g_debug ("AcUserManager: ignoring session '%s' since it's not graphical", ++ new_session->id); ++ goto done; ++ } ++ + if (session_is_login_window (manager, new_session->id)) { + goto done; + } +-- +cgit v0.9.0.2-2-gbebe diff --git a/sysutils/accountsservice/files/patch-src_user.c b/sysutils/accountsservice/files/patch-src_user.c index ed57c8c17..7e5a04659 100644 --- a/sysutils/accountsservice/files/patch-src_user.c +++ b/sysutils/accountsservice/files/patch-src_user.c @@ -1,5 +1,5 @@ ---- src/user.c.orig 2011-03-27 20:27:40.000000000 +0200 -+++ src/user.c 2011-03-27 20:34:18.000000000 +0200 +--- src/user.c.orig 2011-08-16 14:53:31.000000000 +0200 ++++ src/user.c 2011-10-05 00:20:33.000000000 +0200 @@ -29,7 +29,11 @@ #include #include @@ -12,7 +12,7 @@ #include #include -@@ -447,7 +451,11 @@ void +@@ -464,7 +468,11 @@ void user_local_update_from_pwent (User *user, struct passwd *pwent) { @@ -24,7 +24,7 @@ gchar *real_name; gboolean changed; const gchar *passwd; -@@ -538,9 +546,15 @@ user_local_update_from_pwent (User +@@ -555,9 +563,15 @@ user_local_update_from_pwent (User } passwd = pwent->pw_passwd; @@ -40,7 +40,7 @@ if (passwd && passwd[0] == '!') { locked = TRUE; -@@ -562,11 +576,13 @@ user_local_update_from_pwent (User +@@ -579,11 +593,13 @@ user_local_update_from_pwent (User mode = PASSWORD_MODE_REGULAR; } @@ -54,3 +54,35 @@ if (user->password_mode != mode) { user->password_mode = mode; +@@ -1370,6 +1386,7 @@ user_change_icon_file_authorized_cb (Dae + GFile *file; + GFileInfo *info; + guint32 mode; ++ GFileType type; + guint64 size; + + filename = g_strdup (data); +@@ -1400,14 +1417,23 @@ user_change_icon_file_authorized_cb (Dae + + file = g_file_new_for_path (filename); + info = g_file_query_info (file, G_FILE_ATTRIBUTE_UNIX_MODE "," ++ G_FILE_ATTRIBUTE_STANDARD_TYPE "," + G_FILE_ATTRIBUTE_STANDARD_SIZE, + 0, NULL, NULL); + mode = g_file_info_get_attribute_uint32 (info, G_FILE_ATTRIBUTE_UNIX_MODE); ++ type = g_file_info_get_file_type (info); + size = g_file_info_get_attribute_uint64 (info, G_FILE_ATTRIBUTE_STANDARD_SIZE); + + g_object_unref (info); + g_object_unref (file); + ++ if (type != G_FILE_TYPE_REGULAR) { ++ g_debug ("not a regular file\n"); ++ throw_error (context, ERROR_FAILED, "file '%s' is not a regular file", filename); ++ g_free (filename); ++ return; ++ } ++ + if (size > 1048576) { + g_debug ("file too large\n"); + /* 1MB ought to be enough for everybody */ diff --git a/sysutils/accountsservice/pkg-plist b/sysutils/accountsservice/pkg-plist index 9805dbcbf..d1395545f 100644 --- a/sysutils/accountsservice/pkg-plist +++ b/sysutils/accountsservice/pkg-plist @@ -21,6 +21,8 @@ share/locale/ca@valencia/LC_MESSAGES/accounts-service.mo share/locale/cs/LC_MESSAGES/accounts-service.mo share/locale/de/LC_MESSAGES/accounts-service.mo share/locale/el/LC_MESSAGES/accounts-service.mo +share/locale/eo/LC_MESSAGES/accounts-service.mo +share/locale/es/LC_MESSAGES/accounts-service.mo share/locale/fa_IR/LC_MESSAGES/accounts-service.mo share/locale/fr/LC_MESSAGES/accounts-service.mo share/locale/ga/LC_MESSAGES/accounts-service.mo @@ -40,6 +42,7 @@ share/locale/sr@latin/LC_MESSAGES/accounts-service.mo share/locale/sv/LC_MESSAGES/accounts-service.mo share/locale/tr/LC_MESSAGES/accounts-service.mo share/locale/uk/LC_MESSAGES/accounts-service.mo +share/locale/vi/LC_MESSAGES/accounts-service.mo share/locale/wa/LC_MESSAGES/accounts-service.mo share/locale/zh_CN/LC_MESSAGES/accounts-service.mo share/locale/zh_TW/LC_MESSAGES/accounts-service.mo -- cgit v1.2.3