← Back to team overview

touch-packages team mailing list archive

[Bug 1382510] Re: systemd-logind upstart script breaks if libpam-systemd is installed for more than one arch

 

This bug was fixed in the package systemd - 204-5ubuntu20.8

---------------
systemd (204-5ubuntu20.8) trusty; urgency=medium

  [ Ben Howard ]
  * 75-persistent-net-generator.rules: Add new Microsoft net rule
    (LP: #1367883)

  [ Martin Pitt ]
  * debian/libpam-systemd.systemd-logind.upstart: Fix "PAM module installed"
    check for the case when there is more than one library installed, which
    can happen on multi-arch systems. Thanks Grzegorz Gutowski! (LP: #1382510)
 -- Martin Pitt <martin.pitt@xxxxxxxxxx>   Wed, 29 Oct 2014 08:05:16 +0100

** Changed in: systemd (Ubuntu Trusty)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1382510

Title:
  systemd-logind upstart script breaks if libpam-systemd is installed
  for more than one arch

Status in “systemd” package in Ubuntu:
  Fix Released
Status in “systemd” source package in Trusty:
  Fix Released

Bug description:
  /etc/init/systemd-logind.conf contains the following:

      # only start if PAM module is actually available, not if libpam-systemd is
      # removed but not purged
      [ -e /lib/*/security/pam_systemd.so ] || { stop; exit 0; }

  Which is a wrongly written script. It assumes that there is at most one file matching the wildcard. It is not true in my system.
  If your system have both libpam-systemd:amd64 and libpam-systemd:i386 then:

  # ls /lib/*/security/pam_systemd.so
  /lib/i386-linux-gnu/security/pam_systemd.so  /lib/x86_64-linux-gnu/security/pam_systemd.so

  and you get the following:

  # cat /var/log/upstart/systemd-logind.log
  /proc/self/fd/9: 4: [: /lib/i386-linux-gnu/security/pam_systemd.so: unexpected operator
  systemd-logind stop/pre-start, process 2462

  systemd-logind does not start at all. This causes many bad things to
  happen later.

  There are many ways to fix this. For my purposes I removed the faulty
  line from the file. I don't know what is the expected behaviour. Maybe
  this one:

  ls /lib/*/security/pam_systemd.so &> /dev/null || { stop; exit 0; }

  This bug might be the root cause of other bugs. Like this one:
  #1372187 (and #1377727)

  
  SRU TEST CASE
  =============
  - On an amd64 system, run "sudo apt-get install libpam-systemd:i386"
  - Then run "sudo restart systemd-logind"
  - On current trusty this will result in stop/waiting, with the error in /var/log/upstart/systemd-logind.log as above.
  - With this fix this will result in start/running and no  error.


  My system info:

  # lsb_release -rd
  Description:	Ubuntu 14.04.1 LTS
  Release:	14.04
  # apt-cache policy libpam-systemd
  libpam-systemd:
    Installed: 204-5ubuntu20.7
    Candidate: 204-5ubuntu20.7

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1382510/+subscriptions


References