diff -Nru accountsservice-0.6.15/debian/accountsservice.postinst accountsservice-0.6.15/debian/accountsservice.postinst --- accountsservice-0.6.15/debian/accountsservice.postinst 2012-03-27 05:33:05.000000000 +0000 +++ accountsservice-0.6.15/debian/accountsservice.postinst 2012-09-25 10:15:24.000000000 +0000 @@ -15,9 +15,6 @@ # stop accounts-daemon pid=$(get_pid org.freedesktop.Accounts) kill $pid 2>/dev/null || true - - # restart daemon if it was running before - [ -z "$pid" ] || /usr/lib/accountsservice/accounts-daemon & >/dev/null || true # will trigger through D-Bus activation fi # diff -Nru accountsservice-0.6.15/debian/changelog accountsservice-0.6.15/debian/changelog --- accountsservice-0.6.15/debian/changelog 2012-06-27 15:50:23.000000000 +0000 +++ accountsservice-0.6.15/debian/changelog 2013-10-10 15:13:57.000000000 +0000 @@ -1,3 +1,52 @@ +accountsservice (0.6.15-2ubuntu9.6.1) precise-security; urgency=low + + * No change rebuild in security pocket to fix language-selector + when the updates pocket isn't enabled. (LP: #1231529) + + -- Marc Deslauriers Thu, 10 Oct 2013 11:10:22 -0400 + +accountsservice (0.6.15-2ubuntu9.6) precise-proposed; urgency=low + + * debian/patches/0010-set-language.patch: + Run user_HOME_available() as user in order to prevent incorrect + failures when HOME is on NFS (LP: #1083605, LP: #1156670). + + -- Gunnar Hjalmarsson Tue, 19 Mar 2013 08:32:00 +0100 + +accountsservice (0.6.15-2ubuntu9.5) precise-proposed; urgency=low + + * debian/patches/0009-language-tools.patch: + Prevent language-options from listing items that don't correspond + with an installed langpack, even if there is a matching locale + (LP: #1134364). + + -- Gunnar Hjalmarsson Wed, 27 Feb 2013 15:48:00 +0100 + +accountsservice (0.6.15-2ubuntu9.4) precise-proposed; urgency=low + + * 0010-set-language.patch: Fix saving of language selection if ~/.profile + does not exist. (LP: #1018621) + + -- Gunnar Hjalmarsson Tue, 25 Sep 2012 12:14:17 +0200 + +accountsservice (0.6.15-2ubuntu9.3) precise-proposed; urgency=low + + * debian/accountsservice.postinst: + - don't try restarting the service from the maintainer script after + upgrades, it leads to some issues and shouldn't be needed since + it will be dbus reactivated when needed (lp: #1021293) + + -- Sebastien Bacher Mon, 23 Jul 2012 19:26:09 +0200 + +accountsservice (0.6.15-2ubuntu9.2) precise-proposed; urgency=low + + * debian/patches/git_object_path_type.patch: + - user correct object_path type, should fix issues with the users + being incorrectly listed in lightdm or the user panel on powerpc + or arm for example (lp: #952909) + + -- Sebastien Bacher Thu, 19 Jul 2012 17:09:17 +0200 + accountsservice (0.6.15-2ubuntu9.1) precise-security; urgency=low * SECURITY UPDATE: race condition with UID lookup diff -Nru accountsservice-0.6.15/debian/patches/0009-language-tools.patch accountsservice-0.6.15/debian/patches/0009-language-tools.patch --- accountsservice-0.6.15/debian/patches/0009-language-tools.patch 2012-03-27 05:31:41.000000000 +0000 +++ accountsservice-0.6.15/debian/patches/0009-language-tools.patch 2013-02-28 16:12:51.000000000 +0000 @@ -104,8 +104,8 @@ Index: accountsservice-0.6.15/data/langtools/language-options =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ accountsservice-0.6.15/data/langtools/language-options 2012-03-27 07:24:47.000000000 +0200 -@@ -0,0 +1,66 @@ ++++ accountsservice-0.6.15/data/langtools/language-options 2013-02-27 15:34:39.808395914 +0100 +@@ -0,0 +1,77 @@ +#!/usr/bin/perl +use strict; +use warnings; @@ -122,11 +122,22 @@ + @extended_localelist{$loc, $lang} = (1, 1); +} + -+# get the union of /usr/share/locale-langpack and /usr/share/locale ++# get the directory names in /usr/share/locale-langpack plus possible other ++# translation directory names in /usr/share/locale +my %translation_dirs; -+for my $dir ('/usr/share/locale-langpack', '/usr/share/locale') { -+ if ( opendir my ($dh), $dir ) { -+ $translation_dirs{$_} = 1 for readdir $dh; ++if ( opendir my ($dh), '/usr/share/locale-langpack' ) { ++ $translation_dirs{$_} = 1 for readdir $dh; ++} ++my %langpack_langcodes = map { s/[^a-z].+//; $_, 1 } ++ grep !/^\./, keys %translation_dirs; ++if ( opendir my ($dh), '/usr/share/locale' ) { ++ for ( readdir $dh ) { ++ for my $lang ( keys %langpack_langcodes ) { ++ if ( /^$lang[_@]/ ) { ++ $translation_dirs{$_} = 1; ++ last; ++ } ++ } + } +} + diff -Nru accountsservice-0.6.15/debian/patches/0010-set-language.patch accountsservice-0.6.15/debian/patches/0010-set-language.patch --- accountsservice-0.6.15/debian/patches/0010-set-language.patch 2012-02-21 11:17:56.000000000 +0000 +++ accountsservice-0.6.15/debian/patches/0010-set-language.patch 2013-03-25 11:21:17.000000000 +0000 @@ -31,7 +31,7 @@ break; case PROP_X_SESSION: g_value_set_string (value, user->x_session); -@@ -1085,6 +1093,397 @@ +@@ -1085,6 +1093,431 @@ return TRUE; } @@ -426,10 +426,44 @@ + return ret; +} + ++static gboolean ++user_HOME_available (User *user) ++{ ++ /* run these tests as user to prevent incorrect ++ failures when HOME is on NFS */ ++ user_drop_privileges_to_user (user); ++ ++ GDir* homedir = g_dir_open (user->home_dir, 0, NULL); ++ ++ if (homedir == NULL) { // HOME not found ++ user_regain_privileges (); ++ return FALSE; ++ } else { ++ const char *entry, *path_to_entry; ++ do { ++ entry = g_dir_read_name (homedir); ++ path_to_entry = g_build_path ("/", user->home_dir, entry, NULL); ++ if (g_file_test (path_to_entry, G_FILE_TEST_IS_SYMLINK)) ++ continue; ++ if (g_strcmp0 (entry, NULL) == 0) { // HOME contains only symlinks ++ g_dir_close (homedir); ++ user_regain_privileges (); ++ return FALSE; ++ } else ++ break; ++ } while (TRUE); ++ } ++ ++ g_dir_close (homedir); ++ user_regain_privileges (); ++ ++ return TRUE; ++} ++ static void user_change_language_authorized_cb (Daemon *daemon, User *user, -@@ -1092,12 +1491,94 @@ +@@ -1100,12 +1551,93 @@ gpointer data) { @@ -442,8 +476,7 @@ + gchar *dummy; + gchar *profile_formats; + -+ gchar *profile_path = g_build_path ("/", user->home_dir, ".profile", NULL); -+ if (!g_file_test (profile_path, G_FILE_TEST_IS_REGULAR)) { ++ if (!user_HOME_available (user)) { + + /* SetLanguage was probably called from a login greeter, + and HOME not mounted and/or not decrypted. @@ -528,16 +561,15 @@ save_extra_data (user); g_signal_emit (user, signals[CHANGED], 0); -@@ -1105,6 +1586,8 @@ +@@ -1113,6 +1619,7 @@ g_object_notify (G_OBJECT (user), "language"); } +out2: -+ g_free (profile_path); dbus_g_method_return (context); } -@@ -1156,11 +1639,38 @@ +@@ -1164,11 +1672,38 @@ gpointer data) { @@ -580,7 +612,7 @@ save_extra_data (user); -@@ -1169,6 +1679,7 @@ +@@ -1177,6 +1712,7 @@ g_object_notify (G_OBJECT (user), "formats_locale"); } diff -Nru accountsservice-0.6.15/debian/patches/git_object_path_type.patch accountsservice-0.6.15/debian/patches/git_object_path_type.patch --- accountsservice-0.6.15/debian/patches/git_object_path_type.patch 1970-01-01 00:00:00.000000000 +0000 +++ accountsservice-0.6.15/debian/patches/git_object_path_type.patch 2012-09-25 10:15:24.000000000 +0000 @@ -0,0 +1,25 @@ +Subject: fix compute_object_path on ppc32 + +long isn't necessarily 64bit. On big endian +architectures, where it's smaller than 64bit, +the compute_object_path function will get get +computed incorrectly. + +Based on patch by Michel Dänzer + +http://bugs.freedesktop.org/show_bug.cgi?id=45738 +--- +diff --git a/src/user.c b/src/user.c +index fbc91be..20cddfc 100644 +--- a/src/user.c ++++ b/src/user.c +@@ -732,7 +732,7 @@ compute_object_path (User *user) + gchar *object_path; + + object_path = g_strdup_printf ("/org/freedesktop/Accounts/User%ld", +- (gint64) user->uid); ++ (long) user->uid); + + return object_path; + } + diff -Nru accountsservice-0.6.15/debian/patches/ubuntu.series accountsservice-0.6.15/debian/patches/ubuntu.series --- accountsservice-0.6.15/debian/patches/ubuntu.series 2012-06-26 17:11:40.000000000 +0000 +++ accountsservice-0.6.15/debian/patches/ubuntu.series 2012-09-25 10:15:24.000000000 +0000 @@ -11,3 +11,4 @@ 1001-buildsystem.patch git-icon-reset.patch CVE-2012-2737.patch +git_object_path_type.patch