systemd: fix tmpfiles error on images without PAM

If PAM isn't enabled then systemd-tmpfiles on boot will fail to start with the
following error message:

Failed to copy files to /etc/pam.d: No such file or directory

This is because systemd-tmpfiles is attempting to build a usable /etc from the
skeleton in /usr/share/factory but pam.d isn't present because PAM is disabled.
Fix this by not attempting to copy pam.d in non-PAM configurations.

(From OE-Core rev: 46a54e7991b939f12a729e4d263d19130e0aea78)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2015-03-03 11:54:25 +00:00 committed by Richard Purdie
parent 8d4e621a6c
commit d01cd53429
2 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,30 @@
Upstream-Status: Submitted
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 0802aaaa9784813d318d045c79533a044eedf542 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 3 Mar 2015 11:32:29 +0000
Subject: [PATCH] tmpfiles.d: only copy /etc/pam.d if PAM is present
If HAVE_PAM isn't set then don't attempt to copy /etc/pam.d from the factory, as
it doesn't get installed.
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
tmpfiles.d/etc.conf.m4 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tmpfiles.d/etc.conf.m4 b/tmpfiles.d/etc.conf.m4
index 9b0e080..ab5cd16 100644
--- a/tmpfiles.d/etc.conf.m4
+++ b/tmpfiles.d/etc.conf.m4
@@ -14,4 +14,6 @@ m4_ifdef(`ENABLE_RESOLVED',
L /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf
)m4_dnl
C /etc/nsswitch.conf - - - -
+m4_ifdef(`HAVE_PAM',
C /etc/pam.d - - - -
+)m4_dnl
--
1.7.10.4

View File

@ -40,6 +40,7 @@ SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;branch=master;protocol=
file://0009-sysv-generator-add-support-for-executing-scripts-und.patch \
file://0010-Make-root-s-home-directory-configurable.patch \
file://0011-systemd-user-avoid-using-system-auth.patch \
file://tmpfiles-pam.patch \
file://touchscreen.rules \
file://00-create-volatile.conf \
file://init \