← 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

 

Fixed with libpam-systemd 204-5ubuntu20.8 in trusty-proposed.

** Tags removed: verification-needed
** Tags added: verification-done

-- 
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 Committed

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