diff -Nru gnome-control-center-3.4.2/debian/changelog gnome-control-center-3.4.2/debian/changelog --- gnome-control-center-3.4.2/debian/changelog 2012-09-03 19:55:39.000000000 +0530 +++ gnome-control-center-3.4.2/debian/changelog 2012-10-03 14:42:21.000000000 +0530 @@ -1,3 +1,10 @@ +gnome-control-center (1:3.4.2-0ubuntu0.6) precise; urgency=low + + * debian/patches/git_update_keyring_password.patch: + gnome-keyring passwd should be changed on system password change (lp# 416825) + + -- Ritesh Khadgaray Wed, 03 Oct 2012 14:41:14 +0530 + gnome-control-center (1:3.4.2-0ubuntu0.5) precise-proposed; urgency=low * debian/patches/git_no_preferred_mode_in_clone.patch: diff -Nru gnome-control-center-3.4.2/debian/patches/git_update_keyring_password.patch gnome-control-center-3.4.2/debian/patches/git_update_keyring_password.patch --- gnome-control-center-3.4.2/debian/patches/git_update_keyring_password.patch 1970-01-01 05:30:00.000000000 +0530 +++ gnome-control-center-3.4.2/debian/patches/git_update_keyring_password.patch 2012-10-03 14:40:58.000000000 +0530 @@ -0,0 +1,53 @@ +From af8a6440756ce3845b94c685918f8959968e6dd0 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 22 Aug 2012 15:31:59 +0000 +Subject: user-accounts: Fix login keyring password not getting updated + +By passing the environment down to passwed rather than an empty one. +This means that passwd's PAM modules will be able to access the session +D-Bus, for the gnome-keyring PAM module to change the keyring password +for example. + +https://bugzilla.gnome.org/show_bug.cgi?id=616703 +diff --git a/panels/user-accounts/run-passwd.c b/panels/user-accounts/run-passwd.c +index 6f7cfab..c6592a6 100644 +--- a/panels/user-accounts/run-passwd.c ++++ b/panels/user-accounts/run-passwd.c +@@ -149,20 +149,14 @@ static gboolean + spawn_passwd (PasswdHandler *passwd_handler, GError **error) + { + gchar *argv[2]; +- gchar *envp[1]; ++ gchar **envp; + gint my_stdin, my_stdout, my_stderr; + + argv[0] = "/usr/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ + argv[1] = NULL; + +- envp[0] = NULL; /* If we pass an empty array as the environment, +- * will the childs environment be empty, and the +- * locales set to the C default? From the manual: +- * "If envp is NULL, the child inherits its +- * parent'senvironment." +- * If I'm wrong here, we somehow have to set +- * the locales here. +- */ ++ envp = g_get_environ (); ++ envp = g_environ_setenv (envp, "LC_ALL", "C", TRUE); + + if (!g_spawn_async_with_pipes (NULL, /* Working directory */ + argv, /* Argument vector */ +@@ -179,9 +173,13 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error) + /* An error occured */ + free_passwd_resources (passwd_handler); + ++ g_strfreev (envp); ++ + return FALSE; + } + ++ g_strfreev (envp); ++ + /* 2>&1 */ + if (dup2 (my_stderr, my_stdout) == -1) { + /* Failed! */ diff -Nru gnome-control-center-3.4.2/debian/patches/series gnome-control-center-3.4.2/debian/patches/series --- gnome-control-center-3.4.2/debian/patches/series 2012-09-03 19:55:39.000000000 +0530 +++ gnome-control-center-3.4.2/debian/patches/series 2012-10-03 14:42:45.000000000 +0530 @@ -38,3 +38,4 @@ deal_with_null_ssid.patch Brightness-fix-for-gnome-settings-daemon-changes.patch git_no_preferred_mode_in_clone.patch +git_update_keyring_password.patch