On 1/1/19 12:03 PM, Jonas Bonn wrote:
Hi Randy,

Thanks for looking at this.

On 01/01/2019 16:29, Randy MacLeod wrote:
On 12/31/18 7:05 AM, Jonas Bonn wrote:
The configuration files that systemd installs are just skeletons
detailing the available options and their default values.  The
recommended means of changing the configuration is to provide snippets
in configuration directories.  For example, journald.conf settings are
best set in /usr/lib/journald.conf.d/ and can be overridden by the user
by providing overriding snippets in /etc/systemd/journald.conf.d/.

The base configuration files have the lowest priority; they will always
be overridden by any snippets.  As such, it's probably best to not
provide them at all.  This also moves us a step closer to an empty /etc
which is should be a long term goal in order to allow running OE as a
"stateless system".

This patch moves the systemd configuration to snippets in
/usr/lib/*.conf.d.  This simplifies the recipe considerably since it now
just sets up a couple of text files and doesn't even need access to the
systemd source anymore.
---
  meta/recipes-core/systemd/systemd-conf.bb | 34 +++++++++--------------
  1 file changed, 13 insertions(+), 21 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd-conf.bb b/meta/recipes-core/systemd/systemd-conf.bb
index 7fe2e1105b..a504afe3e7 100644
--- a/meta/recipes-core/systemd/systemd-conf.bb
+++ b/meta/recipes-core/systemd/systemd-conf.bb
@@ -1,9 +1,8 @@
-require systemd.inc
-
  SUMMARY = "Systemd system configuration"
  DESCRIPTION = "Systemd may require slightly different configuration for \
  different machines.  For example, qemu machines require a longer \
  DefaultTimeoutStartSec setting."
+LICENSE = "GPLv2"

Systemd claims that these conf files are: LGPLv2.1+ licensed.

The configuration files from systemd may be LGPLv2 licensed, but this package now only creates some configuration snippets which are independent of systemd (it's just data, now).  As such, one could certainly put whatever license one wanted on this.  Honestly, GPLv2 is probably a stretch... I can hardly see that any license applies to this, to be honest.  Consider that:

/usr/lib/journald.conf.d/systemd-conf.conf

contains

ForwardToSyslog=yes
RuntimeMaxUse=64M

Just configuration data that the package creates dynamically.

I agree, maybe it's best to just use:
LICENSE = "MIT"
or as you say, no license tag at all.



https://github.com/systemd/systemd/blob/master/sysusers.d/systemd.conf.m4

https://github.com/systemd/systemd/blob/master/modprobe.d/systemd.conf

  PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -13,36 +12,29 @@ ${sysconfdir}/systemd/logind.conf \
  ${sysconfdir}/systemd/system.conf \
  ${sysconfdir}/systemd/user.conf"
-FILES_${PN} = "${sysconfdir}/systemd"
-
-do_configure[noexec] = '1'
-do_compile[noexec] = '1'
+FILES_${PN} = "/usr/lib/journald.conf.d/* \
+/usr/lib/logind.conf.d/* \
+/usr/lib/system.conf.d/* \
+"
  do_install() {
-    rm -rf ${D}/${sysconfdir}/systemd
-    install -d ${D}/${sysconfdir}/systemd
-
-    install -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf
-
-    install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf
+    install -d ${D}/usr/lib/journald.conf.d

Should the recipe use /usr/lib or is / should there be a
'systemdconfdir' var?

So, I looked into the systemd source and, as far as I can see, it seems that systemd hardcodes the paths to configuration files, tmpfiles, presets, etc.  It's all really /usr/lib/... with no method of specifying any other location.  For this reason, I've used these explicit paths above, strange though it may appear...

I thought that might be the case. Thanks for looking into it.

Some people might want to use a variable name for the path so
that it's uniquely identified should they want to patch systemd's
definition but I don't think that's required.

../Randy


/Jonas


--
# Randy MacLeod
# Wind River Linux
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to