[arch-commits] Commit in cinnamon/repos/community-x86_64 (7 files)

Eli Schwartz eschwartz at archlinux.org
Thu Apr 19 18:51:13 UTC 2018


    Date: Thursday, April 19, 2018 @ 18:51:12
  Author: eschwartz
Revision: 317057

archrelease: copy trunk to community-x86_64

Added:
  cinnamon/repos/community-x86_64/0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch
    (from rev 317055, cinnamon/trunk/0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch)
  cinnamon/repos/community-x86_64/PKGBUILD
    (from rev 317055, cinnamon/trunk/PKGBUILD)
  cinnamon/repos/community-x86_64/default-theme.patch
    (from rev 317056, cinnamon/trunk/default-theme.patch)
  cinnamon/repos/community-x86_64/set_wheel.patch
    (from rev 317056, cinnamon/trunk/set_wheel.patch)
Deleted:
  cinnamon/repos/community-x86_64/PKGBUILD
  cinnamon/repos/community-x86_64/default-theme.patch
  cinnamon/repos/community-x86_64/set_wheel.patch

-----------------------------------------------------------------+
 0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch |  105 +++++
 PKGBUILD                                                        |  195 +++++-----
 default-theme.patch                                             |   50 +-
 set_wheel.patch                                                 |  112 ++---
 4 files changed, 284 insertions(+), 178 deletions(-)

Copied: cinnamon/repos/community-x86_64/0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch (from rev 317055, cinnamon/trunk/0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch)
===================================================================
--- 0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch	                        (rev 0)
+++ 0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch	2018-04-19 18:51:12 UTC (rev 317057)
@@ -0,0 +1,105 @@
+From b5407422e20b44936134e2e22c4fa25bcb555d75 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93 at gmail.com>
+Date: Tue, 6 Mar 2018 10:30:14 -0500
+Subject: [PATCH] cs_user.py: Add compatibility for multiple pam modules
+
+Rework the authentication handling to work with either backend module:
+- python pam, ctypes bindings created by Chris Atlee, available on PyPI
+  and some distros. Forked for python3 support, and available at PyPI as
+  python-pam and https://github.com/FirefighterBlu3/python-pam
+- python PyPAM, CPython binary extension, available on some other
+  distros, and referencing a dead upstream website (Debian hosts and
+  builds from *_orig.tar.gz so it is still able to be built).
+
+The current method allows importing either module without failure, but
+then spawns internal errors if pam is used instead of PyPAM due to the
+two modules containing entirely different APIs.
+
+Also re-raise internal errors and change the tooltip to indicate that
+something went wrong. If something unidentifiable happened, error
+messages should not be ruthlessly squelched -- this hindered my efforts
+to discover why pam was not working on Arch Linux in the first place.
+
+Fixes #7313
+
+(cherry picked from commit a29c68383c3758e6a6b85e9ee2b5a6b41b8147ba)
+---
+ .../cinnamon/cinnamon-settings/modules/cs_user.py  | 39 ++++++++++++++++------
+ 1 file changed, 29 insertions(+), 10 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py
+index 8e4dceea..f4e64edf 100755
+--- a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py
++++ b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py
+@@ -1,9 +1,10 @@
+ #!/usr/bin/python2
+ 
+ try:
+-    import PAM
++    import pam
+ except:
+-    import pam as PAM
++    import PAM
++    pam = None
+ import pexpect
+ import time
+ from random import randint
+@@ -18,6 +19,10 @@ from gi.repository import AccountsService, GLib
+ 
+ from GSettingsWidgets import *
+ 
++class PasswordError(Exception):
++    '''Exception raised when an incorrect password is supplied.'''
++    pass
++
+ 
+ class Module:
+     name = "user"
+@@ -342,22 +347,36 @@ class PasswordDialog(Gtk.Dialog):
+     def _on_show_password_toggled(self, widget):
+         self.set_passwords_visibility()
+ 
++    def auth_pam(self):
++        if not pam.authenticate(GLib.get_user_name(), self.current_password.get_text(), 'passwd'):
++            raise PasswordError("Invalid password")
++
++    def auth_PyPAM(self):
++        auth = PAM.pam()
++        auth.start('passwd')
++        auth.set_item(PAM.PAM_USER, GLib.get_user_name())
++        auth.set_item(PAM.PAM_CONV, self.pam_conv)
++        try:
++            auth.authenticate()
++            auth.acct_mgmt()
++            return True
++        except PAM.error as resp:
++            raise PasswordError("Invalid password")
++
+     def _on_current_password_changed(self, widget, event):
+         self.infobar.hide()
+         if self.current_password.get_text() != "":
+-            auth = PAM.pam()
+-            auth.start('passwd')
+-            auth.set_item(PAM.PAM_USER, GLib.get_user_name())
+-            auth.set_item(PAM.PAM_CONV, self.pam_conv)
+             try:
+-                auth.authenticate()
+-                auth.acct_mgmt()
+-            except PAM.error, resp:
++                self.auth_pam() if pam else self.auth_PyPAM()
++            except PasswordError:
+                 self.current_password.set_icon_from_stock(Gtk.EntryIconPosition.SECONDARY, Gtk.STOCK_DIALOG_WARNING)
+                 self.current_password.set_icon_tooltip_text(Gtk.EntryIconPosition.SECONDARY, _("Wrong password"))
+                 self.correct_current_password = False
+             except:
+-                print 'Internal error'
++                self.current_password.set_icon_from_stock(Gtk.EntryIconPosition.SECONDARY, Gtk.STOCK_DIALOG_WARNING)
++                self.current_password.set_icon_tooltip_text(Gtk.EntryIconPosition.SECONDARY, _("Internal Error"))
++                self.correct_current_password = False
++                raise
+             else:
+                 self.current_password.set_icon_from_stock(Gtk.EntryIconPosition.SECONDARY, None)
+                 self.correct_current_password = True
+-- 
+2.16.2
+

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-04-19 18:50:59 UTC (rev 317056)
+++ PKGBUILD	2018-04-19 18:51:12 UTC (rev 317057)
@@ -1,97 +0,0 @@
-# $Id$
-# Maintainer: Alexandre Filgueira <alexfilgueira at cinnarch.com>
-# Contributor: M0Rf30
-# Contributor: unifiedlinux
-# Contributor: CReimer
-
-pkgname=cinnamon
-pkgver=3.6.7
-pkgrel=1
-pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
-arch=('x86_64')
-url="https://github.com/linuxmint/Cinnamon"
-license=('GPL2')
-depends=('accountsservice' 'caribou' 'cinnamon-settings-daemon' 'cinnamon-session'
-         'cinnamon-translations' 'cjs' 'clutter-gtk' 'gnome-backgrounds'
-         'gnome-themes-standard' 'gstreamer' 'libgnome-keyring' 'libkeybinder3' 'librsvg'
-         'muffin' 'python2-cairo' 'python-dbus' 'python2-dbus' 'python2-pillow'
-         'python2-pam' 'python2-pexpect' 'python2-pyinotify' 'python2-lxml'
-         'cinnamon-control-center' 'cinnamon-screensaver' 'cinnamon-menus' 'libgnomekbd'
-         'network-manager-applet' 'nemo' 'polkit-gnome' 'xapps' 'python2-gobject' 'gnome-bluetooth')
-makedepends=('gnome-common' 'intltool' 'gtk-doc' 'gobject-introspection')
-optdepends=('blueberry: Bluetooth support'
-            'gnome-panel: fallback mode'
-            'metacity: fallback mode'
-            'system-config-printer: printer settings')
-options=('!emptydirs')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/archive/$pkgver.tar.gz"
-        "set_wheel.patch"
-        "default-theme.patch")
-sha512sums=('446e0bbf1fcda7e193735115b4c0396e24428e102b0e74d4b1e150c279d97bbf45961fe57ac08e5828f957c390c39bf385bf29ae7549f5fead2bc59389e64add'
-            '55929747b9cc1bc8893717c9fef257f8f2d560dc56849f1c74f88ed636b6f9f9997f6c4713768793b115e93482543a330b70eba672d696ea8456741ed2c71237'
-            '3c460141b277df61c4546cc311fa5ecc7e7ea19a7d39a92d1d0214c37a91b4e163bc91823df7098bd2cf6fb430361cdb9839ab96abe53fe82f2a735e187de563')
-            
-prepare() {
-  cd ${srcdir}/Cinnamon*
-
-  # Python2 fix
-  sed -i 's:/usr/bin/python :/usr/bin/python2 :' files/usr/bin/cinnamon-menu-editor
-  find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
-
-  # Use wheel group instread of sudo (taken from Fedora)
-  patch -Np1 -i ../set_wheel.patch
-
-  # Set default theme to 'cinnamon'
-  patch -Np1 -i ../default-theme.patch
-
-  # Add polkit agent to required components
-  sed -i 's/RequiredComponents=\(.*\)$/RequiredComponents=\1polkit-gnome-authentication-agent-1;/' \
-    files/usr/share/cinnamon-session/sessions/cinnamon*.session
-
-  # Use pkexec instead of gksu
-  sed -i 's/gksu/pkexec/' files/usr/bin/cinnamon-settings-users
-
-  # Check for the cc-panel path, not for the unneeded binary
-  sed -i 's|/usr/bin/cinnamon-control-center|/usr/lib/cinnamon-control-center-1/panels|' \
-    files/usr/bin/cinnamon-settings
-
-  # Cinnamon has no upstream backgrounds, use GNOME backgrounds instead
-  sed -i 's|/usr/share/cinnamon-background-properties|/usr/share/gnome-background-properties|' \
-    files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
-
-  # Fix selected background color in Cinnamon Settings for Adwaita theme
-  sed -i 's/@selected_bg_color;/@theme_selected_bg_color;/' \
-    files/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py
-
-  # GNOME Terminal desktop file was renamed in GNOME 3.20
-  sed -i 's/gnome-terminal.desktop/org.gnome.Terminal.desktop/' data/org.cinnamon.gschema.xml.in \
-    files/usr/share/cinnamon/applets/panel-launchers at cinnamon.org/settings-schema.json
-
-  # Replace MintInstall with GNOME Software
-  sed -i 's/mintinstall.desktop/org.gnome.Software.desktop/' data/org.cinnamon.gschema.xml.in
-
-  # Remove broken symlink
-  rm files/etc/xdg/menus/cinnamon-applications-merged
-}
-
-build() {
-  cd ${srcdir}/Cinnamon*
-
-  ./autogen.sh --prefix=/usr \
-               --sysconfdir=/etc \
-               --libexecdir=/usr/lib/cinnamon \
-               --localstatedir=/var \
-               --disable-static \
-               --disable-schemas-compile \
-               --enable-compile-warnings=yes
-
-  #https://bugzilla.gnome.org/show_bug.cgi?id=656231
-  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-
-  make
-}
-
-package() {
-  cd ${srcdir}/Cinnamon*
-  make DESTDIR="${pkgdir}" install
-}

Copied: cinnamon/repos/community-x86_64/PKGBUILD (from rev 317055, cinnamon/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-04-19 18:51:12 UTC (rev 317057)
@@ -0,0 +1,98 @@
+# $Id$
+# Maintainer: Eli Schwartz <eschwartz at archlinux.org>
+# Contributor: Alexandre Filgueira <alexfilgueira at cinnarch.com>
+# Contributor: M0Rf30
+# Contributor: unifiedlinux
+# Contributor: CReimer
+
+pkgname=cinnamon
+pkgver=3.6.7
+pkgrel=2
+pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
+arch=('x86_64')
+url="https://github.com/linuxmint/Cinnamon"
+license=('GPL2')
+depends=('accountsservice' 'caribou' 'cinnamon-control-center' 'cinnamon-menus' 'cinnamon-screensaver'
+         'cinnamon-session' 'cinnamon-settings-daemon' 'cjs' 'clutter-gtk' 'gnome-backgrounds'
+         'gnome-themes-standard' 'gstreamer' 'libgnomekbd' 'libkeybinder3' 'librsvg'
+         'muffin' 'network-manager-applet' 'nemo' 'python2-cairo' 'python-dbus' 'python2-dbus'
+         'polkit-gnome' 'python2-gobject' 'python2-pam' 'python2-pexpect' 'python2-pillow'
+         'python2-pyinotify' 'xapps')
+optdepends=('blueberry: Bluetooth support'
+            'cinnamon-translations: i18n'
+            'gnome-panel: fallback mode'
+            'metacity: fallback mode'
+            'system-config-printer: printer settings')
+makedepends=('gnome-common' 'intltool' 'gtk-doc' 'gobject-introspection')
+options=('!emptydirs')
+source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz"
+        "${url}/commit/2dc04b8a26fa7a672c579ed62a70dca6c6e4b295.patch"
+        "0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch"
+        "0001-cinanmon-settings-don-t-rely-on-the-presence-of-cinn.patch::${url}/pull/7382.patch"
+        "set_wheel.patch"
+        "default-theme.patch")
+sha512sums=('446e0bbf1fcda7e193735115b4c0396e24428e102b0e74d4b1e150c279d97bbf45961fe57ac08e5828f957c390c39bf385bf29ae7549f5fead2bc59389e64add'
+            '9cc53e23f7a11b97cb3e03802fdece1dda77a1f809e751dd513e61436e656c1083c63304334b3b7f5c1615752f3d630e5d40b7aa7360710e86778625f480f5e6'
+            '6759926ba7e4c9d7f0cef54298107fe569fe3799d0ae78ac423c504d7f93e4577d3448caf5f3f8bacb3baaa03e8f6c6c77ad8ac06acf4fd36fd73e31a84051d5'
+            'a0a9f4d25053fe96f9b1495394adb829252367099931d3f0e9bdfd2371093b4e86ff13fc945301b3a59691bbb7ee14da89e68c4ef3d8e7a1b5ec6bdedccb9137'
+            '55929747b9cc1bc8893717c9fef257f8f2d560dc56849f1c74f88ed636b6f9f9997f6c4713768793b115e93482543a330b70eba672d696ea8456741ed2c71237'
+            '3c460141b277df61c4546cc311fa5ecc7e7ea19a7d39a92d1d0214c37a91b4e163bc91823df7098bd2cf6fb430361cdb9839ab96abe53fe82f2a735e187de563')
+
+prepare() {
+    cd "${srcdir}"/Cinnamon-${pkgver}
+
+    # GNOME Terminal desktop file was renamed in GNOME 3.20
+    patch -p1 < ../2dc04b8a26fa7a672c579ed62a70dca6c6e4b295.patch
+
+    # Backport https://github.com/linuxmint/Cinnamon/pull/7327
+    patch -p1 < ../0001-cs_user.py-Add-compatibility-for-multiple-pam-module.patch
+
+    # Check for the cc-panel module path, not for the irrelevant binary
+    patch -p1 < ../0001-cinanmon-settings-don-t-rely-on-the-presence-of-cinn.patch
+
+    # Python2 fix
+    sed -i 's:/usr/bin/python :/usr/bin/python2 :' files/usr/share/cinnamon/cinnamon-settings/bin/TreeListWidgets.py
+
+    # Use wheel group instread of sudo (taken from Fedora)
+    patch -Np1 -i ../set_wheel.patch
+
+    # Set default theme to 'cinnamon'
+    patch -Np1 -i ../default-theme.patch
+
+    # Replace MintInstall with GNOME Software
+    sed -i 's/mintinstall.desktop/org.gnome.Software.desktop/' data/org.cinnamon.gschema.xml.in
+
+    # Add polkit agent to required components
+    sed -i 's/RequiredComponents=\(.*\)$/RequiredComponents=\1polkit-gnome-authentication-agent-1;/' \
+        files/usr/share/cinnamon-session/sessions/cinnamon*.session
+
+    # https://github.com/linuxmint/Cinnamon/issues/3575#issuecomment-374887122
+    # Cinnamon has no upstream backgrounds, use GNOME backgrounds instead
+    sed -i 's|/usr/share/cinnamon-background-properties|/usr/share/gnome-background-properties|' \
+        files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
+
+    NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+    cd "${srcdir}"/Cinnamon-${pkgver}
+
+    ./configure --prefix=/usr \
+                --sysconfdir=/etc \
+                --libexecdir=/usr/lib/cinnamon \
+                --localstatedir=/var \
+                --disable-static \
+                --disable-schemas-compile \
+                --enable-compile-warnings=yes
+
+    # https://bugzilla.gnome.org/show_bug.cgi?id=656231
+    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+    make
+}
+
+package() {
+    cd "${srcdir}"/Cinnamon-${pkgver}
+
+    make DESTDIR="${pkgdir}" install
+}

Deleted: default-theme.patch
===================================================================
--- default-theme.patch	2018-04-19 18:50:59 UTC (rev 317056)
+++ default-theme.patch	2018-04-19 18:51:12 UTC (rev 317057)
@@ -1,25 +0,0 @@
-From 36af45f699daa886a3c3fc3187e0b24b193294ad Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
-Date: Sat, 22 Nov 2014 22:39:39 +0100
-Subject: [PATCH] Set default theme to 'cinnamon'
-
----
- data/org.cinnamon.gschema.xml.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
-index 91fa171..9f56e4c 100644
---- a/data/org.cinnamon.gschema.xml.in
-+++ b/data/org.cinnamon.gschema.xml.in
-@@ -581,7 +581,7 @@
-   <schema id="org.cinnamon.theme" path="/org/cinnamon/theme/"
-         gettext-domain="@GETTEXT_PACKAGE@">
-     <key name="name" type="s">
--      <default>""</default>
-+      <default>"cinnamon"</default>
-       <_summary>Theme name</_summary>
-       <_description>
-        The name of the theme
--- 
-2.1.3
-

Copied: cinnamon/repos/community-x86_64/default-theme.patch (from rev 317056, cinnamon/trunk/default-theme.patch)
===================================================================
--- default-theme.patch	                        (rev 0)
+++ default-theme.patch	2018-04-19 18:51:12 UTC (rev 317057)
@@ -0,0 +1,25 @@
+From 36af45f699daa886a3c3fc3187e0b24b193294ad Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
+Date: Sat, 22 Nov 2014 22:39:39 +0100
+Subject: [PATCH] Set default theme to 'cinnamon'
+
+---
+ data/org.cinnamon.gschema.xml.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
+index 91fa171..9f56e4c 100644
+--- a/data/org.cinnamon.gschema.xml.in
++++ b/data/org.cinnamon.gschema.xml.in
+@@ -581,7 +581,7 @@
+   <schema id="org.cinnamon.theme" path="/org/cinnamon/theme/"
+         gettext-domain="@GETTEXT_PACKAGE@">
+     <key name="name" type="s">
+-      <default>""</default>
++      <default>"cinnamon"</default>
+       <_summary>Theme name</_summary>
+       <_description>
+        The name of the theme
+-- 
+2.1.3
+

Deleted: set_wheel.patch
===================================================================
--- set_wheel.patch	2018-04-19 18:50:59 UTC (rev 317056)
+++ set_wheel.patch	2018-04-19 18:51:12 UTC (rev 317057)
@@ -1,56 +0,0 @@
---- a/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
-+++ b/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
-@@ -153,12 +153,11 @@
- 
- class PasswordDialog(Gtk.Dialog):
- 
--    def __init__ (self, user, password_mask, group_mask, parent = None):
-+    def __init__ (self, user, password_mask, parent = None):
-         super(PasswordDialog, self).__init__(None, parent)
- 
-         self.user = user
-         self.password_mask = password_mask
--        self.group_mask = group_mask
- 
-         self.set_modal(True)
-         self.set_skip_taskbar_hint(True)
-@@ -224,14 +223,7 @@
-     def change_password(self):
-         newpass = self.new_password.get_text()
-         self.user.set_password(newpass, "")
--        mask = self.group_mask.get_text()
--        if "nopasswdlogin" in mask:
--            subprocess.call(["gpasswd", "-d", self.user.get_user_name(), "nopasswdlogin"])
--            mask = mask.split(", ")
--            mask.remove("nopasswdlogin")
--            mask = ", ".join(mask)
--            self.group_mask.set_text(mask)
--            self.password_mask.set_text(u'\u2022\u2022\u2022\u2022\u2022\u2022')
-+        self.password_mask.set_text(u'\u2022\u2022\u2022\u2022\u2022\u2022')
-         self.destroy()
- 
-     def set_passwords_visibility(self):
-@@ -563,7 +555,7 @@
-         model, treeiter = self.users_treeview.get_selection().get_selected()
-         if treeiter != None:
-             user = model[treeiter][INDEX_USER_OBJECT]
--            dialog = PasswordDialog(user, self.password_mask, self.groups_label, self.window)
-+            dialog = PasswordDialog(user, self.password_mask, self.window)
-             response = dialog.run()
- 
-     def _on_groups_button_clicked(self, widget):
-@@ -807,11 +799,11 @@
-             pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size("/usr/share/cinnamon/faces/user-generic.png", 48, 48)
-             description = "<b>%s</b>\n%s" % (fullname, username)
-             piter = self.users.append(None, [new_user, pixbuf, description])
--            # Add the user to his/her own group and sudo if Administrator was selected
-+            # Add the user to his/her own group and wheel if Administrator was selected
-             if dialog.account_type_combo.get_active() == 1:
--                subprocess.call(["usermod", username, "-G", "%s,sudo,nopasswdlogin" % username])
-+                subprocess.call(["usermod", username, "-G", "%s,wheel" % username])
-             else:
--                subprocess.call(["usermod", username, "-G", "%s,nopasswdlogin" % username])
-+                subprocess.call(["usermod", username, "-G", "%s" % username])
-             self.load_groups()
-         dialog.destroy()
- 

Copied: cinnamon/repos/community-x86_64/set_wheel.patch (from rev 317056, cinnamon/trunk/set_wheel.patch)
===================================================================
--- set_wheel.patch	                        (rev 0)
+++ set_wheel.patch	2018-04-19 18:51:12 UTC (rev 317057)
@@ -0,0 +1,56 @@
+--- a/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
++++ b/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
+@@ -153,12 +153,11 @@
+ 
+ class PasswordDialog(Gtk.Dialog):
+ 
+-    def __init__ (self, user, password_mask, group_mask, parent = None):
++    def __init__ (self, user, password_mask, parent = None):
+         super(PasswordDialog, self).__init__(None, parent)
+ 
+         self.user = user
+         self.password_mask = password_mask
+-        self.group_mask = group_mask
+ 
+         self.set_modal(True)
+         self.set_skip_taskbar_hint(True)
+@@ -224,14 +223,7 @@
+     def change_password(self):
+         newpass = self.new_password.get_text()
+         self.user.set_password(newpass, "")
+-        mask = self.group_mask.get_text()
+-        if "nopasswdlogin" in mask:
+-            subprocess.call(["gpasswd", "-d", self.user.get_user_name(), "nopasswdlogin"])
+-            mask = mask.split(", ")
+-            mask.remove("nopasswdlogin")
+-            mask = ", ".join(mask)
+-            self.group_mask.set_text(mask)
+-            self.password_mask.set_text(u'\u2022\u2022\u2022\u2022\u2022\u2022')
++        self.password_mask.set_text(u'\u2022\u2022\u2022\u2022\u2022\u2022')
+         self.destroy()
+ 
+     def set_passwords_visibility(self):
+@@ -563,7 +555,7 @@
+         model, treeiter = self.users_treeview.get_selection().get_selected()
+         if treeiter != None:
+             user = model[treeiter][INDEX_USER_OBJECT]
+-            dialog = PasswordDialog(user, self.password_mask, self.groups_label, self.window)
++            dialog = PasswordDialog(user, self.password_mask, self.window)
+             response = dialog.run()
+ 
+     def _on_groups_button_clicked(self, widget):
+@@ -807,11 +799,11 @@
+             pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size("/usr/share/cinnamon/faces/user-generic.png", 48, 48)
+             description = "<b>%s</b>\n%s" % (fullname, username)
+             piter = self.users.append(None, [new_user, pixbuf, description])
+-            # Add the user to his/her own group and sudo if Administrator was selected
++            # Add the user to his/her own group and wheel if Administrator was selected
+             if dialog.account_type_combo.get_active() == 1:
+-                subprocess.call(["usermod", username, "-G", "%s,sudo,nopasswdlogin" % username])
++                subprocess.call(["usermod", username, "-G", "%s,wheel" % username])
+             else:
+-                subprocess.call(["usermod", username, "-G", "%s,nopasswdlogin" % username])
++                subprocess.call(["usermod", username, "-G", "%s" % username])
+             self.load_groups()
+         dialog.destroy()
+ 



More information about the arch-commits mailing list