[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#706762: unblock: libpam-mklocaluser/0.8 to fix #706753 (serious)



Package:  release.debian.org
User:     release.debian.org@packages.debian.org
Usertags: unblock
Severity: normal
User:     debian-edu@lists.debian.org
Usertags: debian-edu

Please unblock package libpam-mklocaluser.

Yesterday we in Debian Edu discovered that the wheezy version of
libpam-mklocaluser did not work, because what seem to be changed
behaviour in the subprocess module of python.  A fix was just uploaded,
rewriting the runcmd() command to work with newer (and as far as I know
older) versions of python.

The same binary package should work in wheezy and unstable (and in
squeeze), as the package only contain a python script and there is no
need to rebuild anything to track binary dependency changes.

Here is the complete diff between the version currently in wheezy and
the one just uploaded to unstable.

diff -Nru libpam-mklocaluser-0.7/debian/changelog libpam-mklocaluser-0.8/debian/changelog
--- libpam-mklocaluser-0.7/debian/changelog     2011-07-28 19:20:37.000000000 +0200
+++ libpam-mklocaluser-0.8/debian/changelog     2013-05-04 13:34:42.000000000 +0200
@@ -1,3 +1,9 @@
+libpam-mklocaluser (0.8) unstable; urgency=low
+
+  * Rewrite runcmd() to work with Python on Wheezy (Closes: #706753).
+
+ -- Petter Reinholdtsen <pere@debian.org>  Sat, 04 May 2013 08:25:53 +0200
+
 libpam-mklocaluser (0.7) unstable; urgency=low
 
   * Rewrite how Popen() is used to ensure the script wait for the
diff -Nru libpam-mklocaluser-0.7/debian/pam-python.py libpam-mklocaluser-0.8/debian/pam-python.py
--- libpam-mklocaluser-0.7/debian/pam-python.py 2011-07-26 16:18:23.000000000 +0200
+++ libpam-mklocaluser-0.8/debian/pam-python.py 2013-05-04 13:35:27.000000000 +0200
@@ -16,13 +16,16 @@
 import syslog
 
 def runcmd(pamh, cmd):
-  proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,)
+  proc = subprocess.Popen(cmd, shell=True, \
+                            stdout=subprocess.PIPE, \
+                            stderr=subprocess.PIPE,)
   while proc.poll() == None:
     pass
-  result = proc.communicate(input=None)[0]
-  if result != 0:
-    syslog.syslog("Command %(command)s failed with %(msg)s" % ( cmd, proc.stderr.read()) )
-#  print "output: %s" % output
+  (resultstdout, resultstderr) = proc.communicate(input=None)
+  if proc.returncode != 0:
+    msg = "Command '%s' failed with %s" % ( cmd, resultstderr.strip())
+    syslog.syslog(msg)
+#    print "output: %s" % msg
 
 def check_and_create_localuser(pamh, user):
   # Location of local users

unblock libpam-mklocaluser/0.8

-- System Information:
Debian Release: 7.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/1 CPU core)
Locale: LANG=nb_NO.UTF-8, LC_CTYPE=nb_NO.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- 
Happy hacking
Petter Reinholdtsen


Reply to: