diff -Nru lightdm-1.2.0/configure lightdm-1.2.1/configure --- lightdm-1.2.0/configure 2012-04-04 06:51:12.000000000 +0000 +++ lightdm-1.2.1/configure 2012-04-18 07:47:21.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for lightdm 1.2.0. +# Generated by GNU Autoconf 2.68 for lightdm 1.2.1. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -567,8 +567,8 @@ # Identity of this package. PACKAGE_NAME='lightdm' PACKAGE_TARNAME='lightdm' -PACKAGE_VERSION='1.2.0' -PACKAGE_STRING='lightdm 1.2.0' +PACKAGE_VERSION='1.2.1' +PACKAGE_STRING='lightdm 1.2.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1433,7 +1433,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures lightdm 1.2.0 to adapt to many kinds of systems. +\`configure' configures lightdm 1.2.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1503,7 +1503,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of lightdm 1.2.0:";; + short | recursive ) echo "Configuration of lightdm 1.2.1:";; esac cat <<\_ACEOF @@ -1667,7 +1667,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -lightdm configure 1.2.0 +lightdm configure 1.2.1 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2153,7 +2153,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by lightdm $as_me 1.2.0, which was +It was created by lightdm $as_me 1.2.1, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2971,7 +2971,7 @@ # Define the identity of the package. PACKAGE='lightdm' - VERSION='1.2.0' + VERSION='1.2.1' cat >>confdefs.h <<_ACEOF @@ -18766,7 +18766,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by lightdm $as_me 1.2.0, which was +This file was extended by lightdm $as_me 1.2.1, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18832,7 +18832,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -lightdm config.status 1.2.0 +lightdm config.status 1.2.1 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -Nru lightdm-1.2.0/configure.ac lightdm-1.2.1/configure.ac --- lightdm-1.2.0/configure.ac 2012-04-04 06:50:53.000000000 +0000 +++ lightdm-1.2.1/configure.ac 2012-04-18 07:47:15.000000000 +0000 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(lightdm, 1.2.0) +AC_INIT(lightdm, 1.2.1) AC_CONFIG_MACRO_DIR(m4) AC_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE diff -Nru lightdm-1.2.0/data/Makefile.in lightdm-1.2.1/data/Makefile.in --- lightdm-1.2.0/data/Makefile.in 2012-04-04 06:51:10.000000000 +0000 +++ lightdm-1.2.1/data/Makefile.in 2012-04-18 07:47:20.000000000 +0000 @@ -763,7 +763,7 @@ install-data-hook: install -d $(DESTDIR)$(apparmor_profiledir) - sed 's!LIBEXECDIR!$(libexecdir)!g' < $(srcdir)/guest-session.apparmor \ + sed 's!PKGLIBEXECDIR!$(pkglibexecdir)!g' < $(srcdir)/guest-session.apparmor \ > $(DESTDIR)$(apparmor_profiledir)/lightdm-guest-session # Tell versions [3.59,3.63) of GNU make to not export all variables. diff -Nru lightdm-1.2.0/debian/changelog lightdm-1.2.1/debian/changelog --- lightdm-1.2.0/debian/changelog 2012-04-18 09:00:54.000000000 +0000 +++ lightdm-1.2.1/debian/changelog 2012-04-18 09:00:56.000000000 +0000 @@ -1,3 +1,11 @@ +lightdm (1.2.1-0ubuntu1) precise-proposed; urgency=low + + * New upstream release: + - Fix wrapper path in AppArmor profile (broken since 1.1.1) + - Add show-manual-login and allow-guest options to lightdm-set-defaults + + -- Robert Ancell Wed, 18 Apr 2012 18:37:47 +1000 + lightdm (1.2.0-0ubuntu2) precise; urgency=low * Fix wrapper path in AppArmor profile. This got broken in 1.1.1. Patch also diff -Nru lightdm-1.2.0/liblightdm-qt/usersmodel.cpp lightdm-1.2.1/liblightdm-qt/usersmodel.cpp --- lightdm-1.2.0/liblightdm-qt/usersmodel.cpp 2012-02-23 06:39:49.000000000 +0000 +++ lightdm-1.2.1/liblightdm-qt/usersmodel.cpp 2012-04-18 07:44:55.000000000 +0000 @@ -13,7 +13,7 @@ #include #include -#include +#include #include @@ -218,7 +218,7 @@ case Qt::DisplayRole: return d->users[row].displayName(); case Qt::DecorationRole: - return QPixmap(d->users[row].image); + return QIcon(d->users[row].image); case UsersModel::NameRole: return d->users[row].name; case UsersModel::RealNameRole: diff -Nru lightdm-1.2.0/NEWS lightdm-1.2.1/NEWS --- lightdm-1.2.0/NEWS 2012-04-18 09:00:54.000000000 +0000 +++ lightdm-1.2.1/NEWS 2012-04-18 07:46:13.000000000 +0000 @@ -1,6 +1,7 @@ Overview of changes in lightdm 1.2.1 * Fix wrapper path in AppArmor profile (broken since 1.1.1) + * Add show-manual-login and allow-guest options to lightdm-set-defaults Overview of changes in lightdm 1.2.0 diff -Nru lightdm-1.2.0/utils/lightdm-set-defaults.c lightdm-1.2.1/utils/lightdm-set-defaults.c --- lightdm-1.2.0/utils/lightdm-set-defaults.c 2012-03-16 00:06:50.000000000 +0000 +++ lightdm-1.2.1/utils/lightdm-set-defaults.c 2012-04-18 07:45:18.000000000 +0000 @@ -24,6 +24,8 @@ #define GREETER_KEY_NAME "greeter-session" #define AUTOLOGIN_KEY_NAME "autologin-user" #define HIDE_USERS_KEY_NAME "greeter-hide-users" +#define MANUAL_LOGIN_KEY_NAME "greeter-show-manual-login" +#define ALLOW_GUEST_KEY_NAME "allow-guest" #define IS_STRING_EMPTY(x) ((x)==NULL||(x)[0]=='\0') @@ -31,11 +33,15 @@ static gboolean keep_old = FALSE; static gboolean remove = FALSE; static gboolean hide_users = FALSE; -static gboolean show_users = FALSE; +static gboolean show_manual_login = FALSE; +static gboolean allow_guest = FALSE; static char *session = NULL; static char *greeter = NULL; static char *autologin = NULL; +static char *str_hide_users = NULL; +static char *str_show_manual_login = NULL; +static char *str_allow_guest = NULL; static GOptionEntry entries[] = { @@ -45,8 +51,9 @@ { "session", 's', 0, G_OPTION_ARG_STRING, &session, N_("Set default session"), NULL }, { "greeter", 'g', 0, G_OPTION_ARG_STRING, &greeter, N_("Set default greeter"), NULL }, { "autologin",'a', 0, G_OPTION_ARG_STRING, &autologin, N_("Set autologin user"), NULL }, - { "hide-users",'i', 0, G_OPTION_ARG_NONE, &hide_users, N_("Hide user list in greeter (exclusive to show-users)"), NULL }, - { "show-users",'w', 0, G_OPTION_ARG_NONE, &show_users, N_("Show user list in greeter (exclusive to hide-users)"), NULL }, + { "hide-users",'i', 0, G_OPTION_ARG_STRING, &str_hide_users, N_("Set greeter-hide-users to true or false"), NULL }, + { "show-manual-login",'m', 0, G_OPTION_ARG_STRING, &str_show_manual_login, N_("Set show-manual-login to true or false"), NULL }, + { "allow-guest",'l', 0, G_OPTION_ARG_STRING, &str_allow_guest, N_("Set allow-guest to true or false"), NULL }, { NULL } }; @@ -119,6 +126,25 @@ } int +str_to_bool(const gchar *str, gboolean *bool_out) +{ + if (IS_STRING_EMPTY(str)) { + return -1; + } + else if (strncasecmp(str, "true", 4)==0) { + *bool_out = TRUE; + return 0; + } + else if (strncasecmp(str, "false", 5)==0) { + *bool_out = FALSE; + return 0; + } + else { + return -2; + } +} + +int main (int argc, char *argv[]) { GOptionContext *context = NULL; @@ -149,12 +175,7 @@ g_error_free (error); return 1; } - if (show_users && hide_users) { - g_printerr (N_("show-users and hide-users are mutually exclusive\n")); - g_option_context_free (context); - return 1; - } - if (IS_STRING_EMPTY (session) && IS_STRING_EMPTY (greeter) && IS_STRING_EMPTY (autologin) && !show_users && !hide_users) { + if (IS_STRING_EMPTY (session) && IS_STRING_EMPTY (greeter) && IS_STRING_EMPTY (autologin) && IS_STRING_EMPTY(str_hide_users) && IS_STRING_EMPTY(str_show_manual_login) && IS_STRING_EMPTY(str_allow_guest)) { g_printerr (N_("Wrong usage of the command\n%s"), g_option_context_get_help (context, FALSE, NULL)); g_option_context_free (context); return 1; @@ -183,10 +204,35 @@ return_code = update_string (default_greeter, greeter, keep_old, remove, SEATDEFAULT_KEY_GROUP, GREETER_KEY_NAME, keyfile); if (!(IS_STRING_EMPTY (autologin)) && (return_code == 0)) return_code = update_string (default_autologin, autologin, keep_old, remove, SEATDEFAULT_KEY_GROUP, AUTOLOGIN_KEY_NAME, keyfile); - if ((show_users || hide_users) && (return_code == 0)) - return_code = update_boolean (hide_users, keep_old, SEATDEFAULT_KEY_GROUP, HIDE_USERS_KEY_NAME, keyfile); + if (!(IS_STRING_EMPTY(str_hide_users)) && (return_code == 0)) { + if (str_to_bool(str_hide_users, &hide_users) == 0) { + return_code = update_boolean (hide_users, keep_old, SEATDEFAULT_KEY_GROUP, HIDE_USERS_KEY_NAME, keyfile); + } + else { + g_printerr (N_("true and false are the only valid choices for hide-users\n")); + return 1; + } + } + if (!(IS_STRING_EMPTY(str_allow_guest)) && (return_code == 0)) { + if (str_to_bool(str_allow_guest, &allow_guest) == 0) { + return_code = update_boolean (allow_guest, keep_old, SEATDEFAULT_KEY_GROUP, ALLOW_GUEST_KEY_NAME, keyfile); + } + else { + g_printerr (N_("true and false are the only valid choices for allow-guest\n")); + return 1; + } + } + if (!(IS_STRING_EMPTY(str_show_manual_login)) && (return_code == 0)) { + if (str_to_bool(str_show_manual_login, &show_manual_login) == 0) { + return_code = update_boolean (show_manual_login, keep_old, SEATDEFAULT_KEY_GROUP, MANUAL_LOGIN_KEY_NAME, keyfile); + } + else { + g_printerr (N_("true and false are the only valid choices for show-manual-login\n")); + return 1; + } + } - if(return_code == 0) { + if (return_code == 0) { s_data = g_key_file_to_data (keyfile, &size, &error); if (!s_data) { g_debug ("Can't convert data to string: %s", error->message);