Skip to contentSkip to conversation

systemd: bump to version 214

PATCH New Eric Le Bihan 4 participants 8 messages Jun 29, 2014 – Jul 4, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 systemd: bump to version 214

This patch bumps systemd to version 214.

Changes:

- add new users: systemd-bus-proxy, systemd-network and systemd-resolve.
- remove gtk-doc patch, as it is no longer needed.
- force kmod path when configuring.
- remove attr build dependency.

Besides:

- /var/lock no longer needs to be a symlink to /run, as systemd, via tmpfiles.d, will automatically create a symlink to /run/lock at runtime.
- when using systemd-networkd, /etc/resolv.conf should now be a symlink to /run/systemd/resolve/resolv.conf.

---
 ...ystemd-03-fix-am-path-libgcrypt-no-found.patch} |  0
 package/systemd/systemd-03-fix-no-gtk-doc.patch    | 23 ----------------------
 package/systemd/systemd.mk                         | 11 +++++++++--
 3 files changed, 9 insertions(+), 25 deletions(-)
 rename package/systemd/{systemd-04-fix-am-path-libgcrypt-no-found.patch => systemd-03-fix-am-path-libgcrypt-no-found.patch} (100%)
 delete mode 100644 package/systemd/systemd-03-fix-no-gtk-doc.patch
package/systemd/systemd-03-fix-am-path-libgcrypt-no-found.patch renamed from package/systemd/systemd-04-fix-am-path-libgcrypt-no-found.patch +0 -0
similarity index 100%
rename from package/systemd/systemd-04-fix-am-path-libgcrypt-no-found.patch
rename to package/systemd/systemd-03-fix-am-path-libgcrypt-no-found.patch
package/systemd/systemd-03-fix-no-gtk-doc.patch deleted +0 -23
deleted file mode 100644
index dc236a7..0000000
@@ -1,23 +0,0 @@
-Fix deactivation of gtk-doc
-
-The tarball contains the Makefile for building documentation with gtk-doc,
-Unfortunately the AM_CONDITIONAL variable is not the correct one, which
-results in an error when running autoreconf.
-
-This patch fixes this issue.
-
-Signed-off-by: Eric Le Bihan <[email protected]>
----
-Index: systemd-213/docs/gtk-doc.make
-===================================================================
---- systemd-213.orig/docs/gtk-doc.make	2014-02-14 09:27:47.000000000 +0100
-+++ systemd-213/docs/gtk-doc.make	2014-06-04 15:20:11.976845074 +0200
-@@ -267,7 +267,7 @@
- #
- # Require gtk-doc when making dist
- #
--if HAVE_GTK_DOC
-+if ENABLE_GTK_DOC
- dist-check-gtkdoc: docs
- else
- dist-check-gtkdoc:
package/systemd/systemd.mk +9 -2
index 95e7214..947bc92 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SYSTEMD_VERSION = 213
+SYSTEMD_VERSION = 214
 SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/
 SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
 SYSTEMD_LICENSE = LGPLv2.1+; GPLv2+ for udev; MIT-like license for few source files listed in README
@@ -50,6 +50,9 @@ SYSTEMD_CONF_OPT += \
 	--disable-dbus \
 	--without-python
 
+SYSTEMD_CONF_ENV = \
+	ac_cv_path_KMOD=/usr/bin/kmod
+
 ifeq ($(BR2_PACKAGE_SYSTEMD_COMPAT),y)
 SYSTEMD_CONF_OPT += --enable-compat-libs
 else
@@ -65,7 +68,6 @@ endif
 
 ifeq ($(BR2_PACKAGE_ATTR),y)
 SYSTEMD_CONF_OPT += --enable-attr
-SYSTEMD_DEPENDENCIES += attr
 else
 SYSTEMD_CONF_OPT += --disable-attr
 endif
@@ -99,6 +101,9 @@ endif
 
 ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
 SYSTEMD_CONF_OPT += --enable-networkd
+define SYSTEMD_USER_TIMESYNC
+	systemd-network -1 systemd-network -1 * - - - Network Manager
+endef
 else
 SYSTEMD_CONF_OPT += --disable-networkd
 define SYSTEMD_INSTALL_SERVICE_NETWORK
@@ -155,6 +160,8 @@ SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
 define SYSTEMD_USERS
 	systemd-journal -1 systemd-journal -1 * /var/log/journal - - Journal
 	systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway
+	systemd-resolve -1 systemd-resolve -1 * - - - Network Name Resolution Manager
+	systemd-bus-proxy -1 systemd-bus-proxy -1 * - - - Proxy D-Bus messages to/from a bus
 	$(SYSTEMD_USER_TIMESYNC)
 endef
 
Signature · 1 line
1.9.3
#1 lore raw

PATCH 1/1 systemd: bump to version 214

Dear Eric Le Bihan,

Quoted 17 lines · Eric Le Bihan

This patch bumps systemd to version 214.

Changes:

- add new users: systemd-bus-proxy, systemd-network and systemd-resolve.
- remove gtk-doc patch, as it is no longer needed.
- force kmod path when configuring.
- remove attr build dependency.

Besides:

- /var/lock no longer needs to be a symlink to /run, as systemd, via tmpfiles.d, will automatically create a symlink to /run/lock at runtime.
- when using systemd-networkd, /etc/resolv.conf should now be a symlink to /run/systemd/resolve/resolv.conf.

Quoted 8 lines
---
 ...ystemd-03-fix-am-path-libgcrypt-no-found.patch} |  0
 package/systemd/systemd-03-fix-no-gtk-doc.patch    | 23 ----------------------
 package/systemd/systemd.mk                         | 11 +++++++++--
 3 files changed, 9 insertions(+), 25 deletions(-)
 rename package/systemd/{systemd-04-fix-am-path-libgcrypt-no-found.patch => systemd-03-fix-am-path-libgcrypt-no-found.patch} (100%)
 delete mode 100644 package/systemd/systemd-03-fix-no-gtk-doc.patch

(I don't know much about systemd, but the changes look good to me, and I trust Eric when it comes to systemd stuff and I know he'll be around to fix stuff if bad things happen.)

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 systemd: bump to version 214

In reply to Eric Le Bihan
Quoted 9 lines · Eric Le Bihan

This patch bumps systemd to version 214.

Changes:

- add new users: systemd-bus-proxy, systemd-network and systemd-resolve.
- remove gtk-doc patch, as it is no longer needed.
- force kmod path when configuring.
- remove attr build dependency.

Quoted 7 lines

Besides:

- /var/lock no longer needs to be a symlink to /run, as systemd, via tmpfiles.d, will automatically create a symlink to /run/lock at runtime.
- when using systemd-networkd, /etc/resolv.conf should now be a symlink to /run/systemd/resolve/resolv.conf.

So, maybe the systemd package should make sure that this is the case? In a
post-install hook for instance?

Quoted 2 lines

[snip]

Quoted 14 lines
package/systemd/systemd.mk +1 -1
index 95e7214..947bc92 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SYSTEMD_VERSION = 213
+SYSTEMD_VERSION = 214
 SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/
 SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
 SYSTEMD_LICENSE = LGPLv2.1+; GPLv2+ for udev; MIT-like license for few source files listed in README

package/systemd/systemd.mk SYSTEMD_CONF_OPT += \ · line 54

Quoted 5 lines
package/systemd/systemd.mk +2 -0
@@ -50,6 +50,9 @@ SYSTEMD_CONF_OPT += \
 	--disable-dbus \
 	--without-python
 
+SYSTEMD_CONF_ENV = \
+	ac_cv_path_KMOD=/usr/bin/kmod

Since we would normally expect this to point into $(HOST_DIR), I think there
should be a comment here.

package/systemd/systemd.mk endif · line 68

Quoted 9 lines
package/systemd/systemd.mk +1 -1
+
 ifeq ($(BR2_PACKAGE_SYSTEMD_COMPAT),y)
 SYSTEMD_CONF_OPT += --enable-compat-libs
 else
@@ -65,7 +68,6 @@ endif
 
 ifeq ($(BR2_PACKAGE_ATTR),y)
 SYSTEMD_CONF_OPT += --enable-attr
-SYSTEMD_DEPENDENCIES += attr

Uh? How is it possible to do --enable-attr without depending on attr? Run-time
dependency only? Then this should be explained in a comment.

package/systemd/systemd.mk endif · line 104

Quoted 8 lines
package/systemd/systemd.mk +1 -0
 else
 SYSTEMD_CONF_OPT += --disable-attr
 endif
@@ -99,6 +101,9 @@ endif
 
 ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
 SYSTEMD_CONF_OPT += --enable-networkd
+define SYSTEMD_USER_TIMESYNC

I don't suppose timesync and networkd are mutually exclusive, so this should be
SYSTEMD_USER_NETWORK and it should be added to SYSTEMD_USERS, below.

Regards,
Arnout

Quoted 15 lines
package/systemd/systemd.mk +4 -0
+	systemd-network -1 systemd-network -1 * - - - Network Manager
+endef
 else
 SYSTEMD_CONF_OPT += --disable-networkd
 define SYSTEMD_INSTALL_SERVICE_NETWORK
@@ -155,6 +160,8 @@ SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
 define SYSTEMD_USERS
 	systemd-journal -1 systemd-journal -1 * /var/log/journal - - Journal
 	systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway
+	systemd-resolve -1 systemd-resolve -1 * - - - Network Name Resolution Manager
+	systemd-bus-proxy -1 systemd-bus-proxy -1 * - - - Proxy D-Bus messages to/from a bus
 	$(SYSTEMD_USER_TIMESYNC)
 endef
 
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#3 lore raw

PATCH 1/1 systemd: bump to version 214

Hi!

Quoted 12 lines · Arnout Vandecappelle
Quoted 11 lines · Eric Le Bihan

This patch bumps systemd to version 214.

Changes:

- add new users: systemd-bus-proxy, systemd-network and systemd-resolve.
- remove gtk-doc patch, as it is no longer needed.
- force kmod path when configuring.
- remove attr build dependency.

Besides:

Quoted 8 lines
Quoted 5 lines

- /var/lock no longer needs to be a symlink to /run, as systemd, via tmpfiles.d, will automatically create a symlink to /run/lock at runtime.
- when using systemd-networkd, /etc/resolv.conf should now be a symlink to /run/systemd/resolve/resolv.conf.

So, maybe the systemd package should make sure that this is the case? In a
post-install hook for instance?

I usually perform these steps in a post-build script. There was a recent discussion [1] about adding systemd/sysv specific target skeletons. If adding a post installation hook that rework /var and /run is OK, this can solve this problem.

Quoted 20 lines
Quoted 2 lines

[snip]

Quoted 17 lines
package/systemd/systemd.mk +1 -1
index 95e7214..947bc92 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SYSTEMD_VERSION = 213
+SYSTEMD_VERSION = 214
 SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/
 SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
 SYSTEMD_LICENSE = LGPLv2.1+; GPLv2+ for udev; MIT-like license for few source files listed in README
@@ -50,6 +50,9 @@ SYSTEMD_CONF_OPT += \
 	--disable-dbus \
 	--without-python
 
Quoted 6 lines

package/systemd/systemd.mk SYSTEMD_CONF_OPT += \ · line 54

Quoted 2 lines
package/systemd/systemd.mk +2 -0
+SYSTEMD_CONF_ENV = \
+	ac_cv_path_KMOD=/usr/bin/kmod

Since we would normally expect this to point into $(HOST_DIR), I think there
should be a comment here.

This hack is needed to set the correct path to kmod in kmod-static-nodes.service. I'll add a comment about this.

Quoted 6 lines
Quoted 6 lines
package/systemd/systemd.mk +1 -0
+
 ifeq ($(BR2_PACKAGE_SYSTEMD_COMPAT),y)
 SYSTEMD_CONF_OPT += --enable-compat-libs
 else
@@ -65,7 +68,6 @@ endif
 
Quoted 6 lines

package/systemd/systemd.mk endif · line 68

Quoted 3 lines
package/systemd/systemd.mk +0 -1
 ifeq ($(BR2_PACKAGE_ATTR),y)
 SYSTEMD_CONF_OPT += --enable-attr
-SYSTEMD_DEPENDENCIES += attr

Uh? How is it possible to do --enable-attr without depending on attr? Run-time
dependency only? Then this should be explained in a comment.

GLibc offers all the extended attribute calls, so no need to depend on libattr. Thinking it twice, I will completely remove this part, as the configuration option has also been removed and there is no need for the tools provided by attr.

Quoted 11 lines

package/systemd/systemd.mk endif · line 104

Quoted 8 lines
package/systemd/systemd.mk +1 -0
 else
 SYSTEMD_CONF_OPT += --disable-attr
 endif
@@ -99,6 +101,9 @@ endif
 
 ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
 SYSTEMD_CONF_OPT += --enable-networkd
+define SYSTEMD_USER_TIMESYNC

I don't suppose timesync and networkd are mutually exclusive, so this should be
SYSTEMD_USER_NETWORK and it should be added to SYSTEMD_USERS, below.

True! In fact, systemd complains if the user systemd-network has not been created (there is a reference to it in /usr/lib/tmpfiles.d/systemd.conf), even if systemd-networkd has not been built. So I will unconditionaly create all the users.

Quoted 5 lines

Regards,
Arnout

Quoted 16 lines
Quoted 7 lines
package/systemd/systemd.mk +2 -0
+	systemd-network -1 systemd-network -1 * - - - Network Manager
+endef
 else
 SYSTEMD_CONF_OPT += --disable-networkd
 define SYSTEMD_INSTALL_SERVICE_NETWORK

package/systemd/systemd.mk SYSTEMD_POST_INSTALL_TARGET_HOOKS += \ · line 167

Quoted 8 lines
package/systemd/systemd.mk +2 -0
@@ -155,6 +160,8 @@ SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
 define SYSTEMD_USERS
 	systemd-journal -1 systemd-journal -1 * /var/log/journal - - Journal
 	systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway
+	systemd-resolve -1 systemd-resolve -1 * - - - Network Name Resolution Manager
+	systemd-bus-proxy -1 systemd-bus-proxy -1 * - - - Proxy D-Bus messages to/from a bus
 	$(SYSTEMD_USER_TIMESYNC)
 endef
 

Thank you very much for your review!

Best regards,
ELB

[1] http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/86510/

#4 lore raw

PATCH 1/1 systemd: bump to version 214

Quoted 20 lines · Eric Le Bihan

Hi!

Quoted 18 lines · Arnout Vandecappelle
Quoted 18 lines · Eric Le Bihan
Quoted 16 lines
Quoted 16 lines

This patch bumps systemd to version 214.

Changes:

- add new users: systemd-bus-proxy, systemd-network and systemd-resolve.
- remove gtk-doc patch, as it is no longer needed.
- force kmod path when configuring.
- remove attr build dependency.

Besides:

- /var/lock no longer needs to be a symlink to /run, as systemd, via tmpfiles.d, will automatically create a symlink to /run/lock at runtime.
- when using systemd-networkd, /etc/resolv.conf should now be a symlink to /run/systemd/resolve/resolv.conf.

Quoted 6 lines
Quoted 2 lines
Quoted 2 lines

So, maybe the systemd package should make sure that this is the case? In a
post-install hook for instance?

I usually perform these steps in a post-build script. There was a recent discussion [1] about adding systemd/sysv specific target skeletons. If adding a post installation hook that rework /var and /run is OK, this can solve this problem.

For resolv.conf, it is easy to create that symlink in the
POST_INSTALL_TARGET_HOOKS, so I would do it. A user can still override it in the fs-overlay if needed.

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#5 lore raw

PATCH 1/1 systemd: bump to version 214

In reply to Eric Le Bihan

Dear Eric Le Bihan,

package/systemd/systemd.mk SYSTEMD_CONF_OPT += \ · line 54

Quoted 2 lines · Eric Le Bihan
package/systemd/systemd.mk +2 -0
+SYSTEMD_CONF_ENV = \
+	ac_cv_path_KMOD=/usr/bin/kmod

I just got a report from "nroach44" on IRC (Cc'ed to this e-mail) that this chunk is actually also needed with systemd 213. From the IRC discussions:

13:16 < NRoach44> kmod is being put in /usr/bin
13:17 < NRoach44> when systemd trys to run it from /bin
13:18 < kos_tom> with which version of systemd are you seeing this kmod issue? 13:18 < NRoach44> 213

So I obviously pointed "nroach44" to your 214 systemd bump patch, but I believe that since the kmod issue exists with systemd 213, the chunk above should probably be part of a separate patch.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH 1/1 systemd: bump to version 214

Quoted 11 lines · Thomas Petazzoni

Dear Eric Le Bihan,

package/systemd/systemd.mk SYSTEMD_CONF_OPT += \ · line 54

Quoted 2 lines · Eric Le Bihan
package/systemd/systemd.mk +2 -0
+SYSTEMD_CONF_ENV = \
+	ac_cv_path_KMOD=/usr/bin/kmod

I just got a report from "nroach44" on IRC (Cc'ed to this e-mail) that this chunk is actually also needed with systemd 213. From the IRC discussions:

Quoted 8 lines

13:16 < NRoach44> kmod is being put in /usr/bin
13:17 < NRoach44> when systemd trys to run it from /bin
13:18 < kos_tom> with which version of systemd are you seeing this kmod issue? 13:18 < NRoach44> 213

So I obviously pointed "nroach44" to your 214 systemd bump patch, but I believe that since the kmod issue exists with systemd 213, the chunk above should probably be part of a separate patch.

This is probably a symptom of systemd moving to the everything-in-/usr
filesystem layout [1]. So we can expect more of that in the future.

This everything-in-/usr actually doesn't sound like a bad idea. TLDR: move
everything in /bin and /lib to /usr/bin and /usr/lib, and make symlinks /bin -> /usr/bin etc. Would be really trivial for us to implement.

Regards,
Arnout

[1] http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#7 lore raw

PATCH 1/1 systemd: bump to version 214

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 6 lines

This is probably a symptom of systemd moving to the everything-in-/usr
filesystem layout [1]. So we can expect more of that in the future.

This everything-in-/usr actually doesn't sound like a bad idea. TLDR: move
everything in /bin and /lib to /usr/bin and /usr/lib, and make symlinks /bin -> /usr/bin etc. Would be really trivial for us to implement.

Don't forget /sbin + /usr/sbin - But Yes, I mentioned it on IRC the other day as well. Could solve these kind of issues for good.

Anyone against it?

Signature · 1 line
Bye, Peter Korsgaard