systemd: bumped to version 206
PATCH 1/1 systemd: bumped to version 206
From: Eric Le Bihan <[email protected]>
This patch updates Systemd from version 44 to 206.
It includes fixes for compiling with uClibc, based on the ones from Khem Raj, used by Yocto project:
http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/systemd/systemd/
--- package/systemd/Config.in | 20 +- ...tenv-instead-of-secure_getenv-when-using-.patch | 26 ++ ...ed-posix_fallocate-calls-when-using-uClib.patch | 85 ++++ ...ed-pwritev-preadv-calls-when-using-uClibc.patch | 32 ++ ...fer-getty-to-agetty-in-console-setup-unit.patch | 39 ++ ...ms-sscanf-modifier-not-being-available-in.patch | 417 ++++++++++++++++++++ ...-mknod-capability-to-kmod-static-nodes.se.patch | 26 ++ package/systemd/systemd-fix-getty-unit.patch | 34 -- package/systemd/systemd-fix-page-size.patch | 43 -- package/systemd/systemd-uclibc-fix.patch | 59 --- package/systemd/systemd.mk | 45 ++- 11 files changed, 677 insertions(+), 149 deletions(-) create mode 100644 package/systemd/systemd-0001-core-use-getenv-instead-of-secure_getenv-when-using-.patch create mode 100644 package/systemd/systemd-0002-journal-fixed-posix_fallocate-calls-when-using-uClib.patch create mode 100644 package/systemd/systemd-0003-bus-fixed-pwritev-preadv-calls-when-using-uClibc.patch create mode 100644 package/systemd/systemd-0004-units-prefer-getty-to-agetty-in-console-setup-unit.patch create mode 100644 package/systemd/systemd-0005-core-fixed-ms-sscanf-modifier-not-being-available-in.patch create mode 100644 package/systemd/systemd-0006-units-Added-mknod-capability-to-kmod-static-nodes.se.patch delete mode 100644 package/systemd/systemd-fix-getty-unit.patch delete mode 100644 package/systemd/systemd-fix-page-size.patch delete mode 100644 package/systemd/systemd-uclibc-fix.patch
package/systemd/Config.in +18 -2
@@ -1,5 +1,6 @@ config BR2_PACKAGE_SYSTEMD bool "systemd" + depends on BR2_LARGEFILE depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV depends on BR2_INET_IPV6 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
@@ -18,6 +19,21 @@ config BR2_PACKAGE_SYSTEMD http://freedesktop.org/wiki/Software/systemd +if BR2_PACKAGE_SYSTEMD + +config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY + bool "HTTP server for journal events" + default n + select BR2_PACKAGE_LIBMICROHTTPD + help + systemd-journal-gatewayd serves journal events over the network. + Clients must connect using HTTP. The server listens on port 19531 by + default. + + http://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html + +endif + comment "systemd not available (depends on /dev management with udev and ipv6 support, and thread support in toolchain)" - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || !BR2_INET_IPV6 || \\ - !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_LARGEFILE || !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \\ + !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS
package/systemd/systemd-0001-core-use-getenv-instead-of-secure_getenv-when-using-.patch new file +26 -0
@@ -0,0 +1,26 @@ +From c6e94fd5b8f39fd09f703e25a226e2bd52df1f4f Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan <[email protected]> +Date: Thu, 29 Aug 2013 15:34:49 +0200 +Subject: [PATCH 1/6] core: use getenv() instead of secure_getenv() when using + uClibc + +--- + src/shared/missing.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/shared/missing.h b/src/shared/missing.h +index 534b3cc..48280c1 100644 +--- a/src/shared/missing.h ++++ b/src/shared/missing.h +@@ -254,6 +254,8 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle + #ifndef HAVE_SECURE_GETENV + # ifdef HAVE___SECURE_GETENV + # define secure_getenv __secure_getenv ++# elif defined __UCLIBC__ ++# define secure_getenv getenv + # else + # error neither secure_getenv nor __secure_getenv are available + # endif +-- +1.7.9.5 +
package/systemd/systemd-0002-journal-fixed-posix_fallocate-calls-when-using-uClib.patch new file +85 -0
85 lines not on this page · raw message
package/systemd/systemd-0003-bus-fixed-pwritev-preadv-calls-when-using-uClibc.patch new file +32 -0
@@ -0,0 +1,32 @@ +From 884323ac0c242e12f5dc7c4bcc487cd6b64e1069 Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan <[email protected]> +Date: Thu, 29 Aug 2013 15:38:31 +0200 +Subject: [PATCH 3/6] bus: fixed pwritev/preadv calls when using uClibc + +--- + src/libsystemd-bus/test-bus-memfd.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libsystemd-bus/test-bus-memfd.c b/src/libsystemd-bus/test-bus-memfd.c +index 05ef555..91a9556 100644 +--- a/src/libsystemd-bus/test-bus-memfd.c ++++ b/src/libsystemd-bus/test-bus-memfd.c +@@ -146,6 +146,7 @@ int main(int argc, char *argv[]) { + assert_se(memcmp(buf, "ll", 2) == 0); + + /* writev it out*/ ++#ifndef __UCLIBC__ + iov[0].iov_base = (char *)"ABC"; + iov[0].iov_len = 3; + iov[1].iov_base = (char *)"DEF"; +@@ -167,6 +168,7 @@ int main(int argc, char *argv[]) { + assert_se(memcmp(bufv[0], "ABC", 3) == 0); + assert_se(memcmp(bufv[1], "DEF", 3) == 0); + assert_se(memcmp(bufv[2], "GHI", 3) == 0); ++#endif /* __UCLIBC__ */ + + sd_memfd_free(m); + +-- +1.7.9.5 +
package/systemd/systemd-0004-units-prefer-getty-to-agetty-in-console-setup-unit.patch new file +39 -0
@@ -0,0 +1,39 @@ +From a39d2ab91dbad209e6f35658327e10733fe910f0 Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan <[email protected]> +Date: Thu, 29 Aug 2013 15:40:10 +0200 +Subject: [PATCH 4/6] units: prefer getty to agetty in console setup unit + +--- + units/getty at .service.m4 | 2 +- + units/serial-getty at .service.m4 | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/units/getty at .service.m4 b/units/getty at .service.m4 +index 7853652..34cdf11 100644 +--- a/units/getty at .service.m4 ++++ b/units/getty at .service.m4 +@@ -27,7 +27,7 @@ ConditionPathExists=/dev/tty0 + + [Service] + # the VT is cleared by TTYVTDisallocate +-ExecStart=-/sbin/agetty --noclear %I ++ExecStart=-/sbin/getty -L %I + Type=idle + Restart=always + RestartSec=0 +diff --git a/units/serial-getty at .service.m4 b/units/serial-getty at .service.m4 +index 5e16963..9657800 100644 +--- a/units/serial-getty at .service.m4 ++++ b/units/serial-getty at .service.m4 +@@ -22,7 +22,7 @@ Before=getty.target + IgnoreOnIsolate=yes + + [Service] +-ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600 ++ExecStart=-/sbin/getty -L %I 115200 + Type=idle + Restart=always + RestartSec=0 +-- +1.7.9.5 +
package/systemd/systemd-0005-core-fixed-ms-sscanf-modifier-not-being-available-in.patch new file +417 -0
417 lines not on this page · raw message
package/systemd/systemd-0006-units-Added-mknod-capability-to-kmod-static-nodes.se.patch new file +26 -0
@@ -0,0 +1,26 @@ +From 3739505ce24e690a6d18ecc88abe9570eba27f67 Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan <[email protected]> +Date: Thu, 29 Aug 2013 15:46:25 +0200 +Subject: [PATCH 6/6] units: Added mknod capability to + kmod-static-nodes.service. + +Fixes errors seen when booting VMs on QEMU. +--- + units/kmod-static-nodes.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in +index cdfc6e5..d8a8420 100644 +--- a/units/kmod-static-nodes.service.in ++++ b/units/kmod-static-nodes.service.in +@@ -9,6 +9,7 @@ + Description=Create list of required static device nodes for the current kernel + DefaultDependencies=no + Before=sysinit.target systemd-tmpfiles-setup-dev.service ++ConditionCapability=CAP_MKNOD + + [Service] + Type=oneshot +-- +1.7.9.5 +
package/systemd/systemd-fix-getty-unit.patch deleted +0 -34
@@ -1,34 +0,0 @@ -Prefer getty to agetty in console setup systemd units - -Signed-off-by: Maxime Ripard <[email protected]> ---- - units/getty at .service.m4 | 2 +- - units/serial-getty at .service.m4 | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: systemd-37/units/getty at .service.m4 -=================================================================== ---- systemd-37.orig/units/getty at .service.m4 -+++ systemd-37/units/getty at .service.m4 -@@ -32,7 +32,7 @@ - - [Service] - Environment=TERM=linux --ExecStart=-/sbin/agetty %I 38400 -+ExecStart=-/sbin/getty -L %I 115200 vt100 - Restart=always - RestartSec=0 - UtmpIdentifier=%I -Index: systemd-37/units/serial-getty at .service.m4 -=================================================================== ---- systemd-37.orig/units/serial-getty at .service.m4 -+++ systemd-37/units/serial-getty at .service.m4 -@@ -32,7 +32,7 @@ - - [Service] - Environment=TERM=vt100 --ExecStart=-/sbin/agetty -s %I 115200,38400,9600 -+ExecStart=-/sbin/getty -L %I 115200 vt100 - Restart=always - RestartSec=0 - UtmpIdentifier=%I
package/systemd/systemd-fix-page-size.patch deleted +0 -43
43 lines not on this page · raw message
package/systemd/systemd-uclibc-fix.patch deleted +0 -59
59 lines not on this page · raw message
package/systemd/systemd.mk +34 -11
84 lines not on this page · raw message
--
1.7.9.5
PATCH 1/1 systemd: bumped to version 206
Dear eric.le.bihan.dev at free.fr,
Quoted 9 lines · eric.le.bihan.dev at free.fr
From: Eric Le Bihan <[email protected]>
This patch updates Systemd from version 44 to 206.
It includes fixes for compiling with uClibc, based on the ones from Khem Raj, used by Yocto project:http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/systemd/systemd/
Signed-off-by Eric Le Bihan <[email protected]>
Thanks a lot! Definitely nice to see someone interested in systemd support upgrading this package.
However, how do you handle the fact that systemd now includes udev, while Buildroot still has a separate udev package?
As of systemd 44 that we have in Buildroot, udev was not part of systemd, and therefore Buildroot packaged both udev and systemd separately, and systemd depended on the selected /dev management method being "devtmpfs + udev".
However, now that udev is part of systemd, some of this needs to change. What is your plan regarding that?
May I suggest you to go through the thread at
http://lists.busybox.net/pipermail/buildroot/2013-March/068130.html,
which contains a large discussion about systemd/udev that started the last time a contributor posted an updated to the systemd package.
Thanks again!
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 systemd: bumped to version 206
Quoted 2 lines
However, now that udev is part of systemd, some of this needs to change. What is your plan regarding that?
Oops! I missed this part! I've just found out I had two copies of libudev.so on my target (/lib/libudev.so.0.13.1 and /usr/lib/libudev.so.1.3.7).
Quoted 4 lines
May I suggest you to go through the thread at
http://lists.busybox.net/pipermail/buildroot/2013-March/068130.html,
which contains a large discussion about systemd/udev that started the last time a contributor posted an updated to the systemd package.
Thanks for pointing it out to me. Yocto project gets around this problem thanks to its packaging system (the 'udev' feature is provided by either udev-182 or systemd-206 recipe). Enabling udev only if systemd is the selected init system seems to be the easiest solution, but would it not restrict the user?
I'll see if I can make the udev package depends on systemd and only grab the interesting pieces.
BTW, a great feature of Buildroot is to provide means to build images for a wide range of embedded devices: from small ones with limited resources (where Busybox init + mdev is a perfect combination) to beefy ones (which could handle systemd + udev).
I initially updated Systemd because I wanted to see if it could be usable on embedded devices. I am looking for an init system with supervision capabilities and successfully used Buildroot with runit an s6. Both are more suitable (system-journald consumes too much memory for my purpose).
PATCH 1/1 systemd: bumped to version 206
Eric,
Quoted 6 lines · eric.le.bihan.dev at free.fr
Quoted 2 lines
However, now that udev is part of systemd, some of this needs to change. What is your plan regarding that?
Oops! I missed this part! I've just found out I had two copies of libudev.so on my target (
/lib/libudev.so.0.13.1
and/usr/lib/libudev.so.1.3.7).
Right. You have the old standalone udev, and the udev built in with systemd.
Quoted 6 lines
Quoted 5 lines
May I suggest you to go through the thread at
http://lists.busybox.net/pipermail/buildroot/2013-March/068130.html,
which contains a large discussion about systemd/udev that started the last time a contributor posted an updated to the systemd package.
Quoted 8 lines
Thanks for pointing it out to me. Yocto project gets around this problem thanks to its packaging system (the 'udev' feature is provided by either udev-182 or systemd-206 recipe). Enabling udev only if systemd is the selected init system seems to be the easiest solution, but would it not restrict the user?
I'll see if I can make the udev package depends on systemd and only grab the interesting pieces.
I believe we have several options:
(1) No longer allow the usage of 'udev' without systemd. This is I believe what would match the best the upstream decision of making udev and systemd more and more integrated together. This would mean remove the separate 'udev' package, and turn the 'udev' /dev management method into a 'udev+systemd' management method, which would force the "init method" to be systemd. This is probably the easiest solution, but I guess some users might be disappointed:
they might be using udev for some reason, but still may not want all the systemd/dbus stuff. That said, using udev without systemd seems to go against the choices of the upstream systemd project.
(2) Continue to use an old standalone udev, but ensure that the choice of udev and systemd are mutually exclusive. This is not very satisfying since the old udev we have is no longer maintained, so it does not look like a solution that is very future-proof.
(3) Package one of more recent 'udev' versions that have been extracted from systemd sources, as a separate 'udev' package that would be mutually exclusive with systemd. It's a bit like (2) but with a more recent udev version. However, it's unclear how those forked versions of udev will be maintained over time.
(4) See if it's possible to make the systemd package only provide udev. I think it is possible to install only udev, but as far as I remember, D-Bus was still required at build time, unless you did some tricks.
To be honest, as I'm not really using udev myself, choice (1) seems to have my preference. If udev users are not happy with the fact that they must now use systemd, then they should work that out with upstream (and I wish them good luck!).
What do you think about this?
Quoted 4 lines
BTW, a great feature of Buildroot is to provide means to build images for a wide range of embedded devices: from small ones with limited resources (where Busybox init + mdev is a perfect combination) to beefy ones (which could handle systemd + udev).
Right.
Quoted 5 lines
I initially updated Systemd because I wanted to see if it could be usable on embedded devices. I am looking for an init system with supervision capabilities and successfully used Buildroot with runit an s6. Both are more suitable (system-journald consumes too much memory for my purpose).
runit ? s6 ? What are these ?
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 systemd: bumped to version 206
Le 31/08/2013 13:46, Thomas Petazzoni a ?crit :
Quoted 12 lines
I believe we have several options:
(1) No longer allow the usage of 'udev' without systemd. This is I believe what would match the best the upstream decision of making udev and systemd more and more integrated together. This would mean remove the separate 'udev' package, and turn the 'udev' /dev management method into a 'udev+systemd' management method, which would force the "init method" to be systemd. This is probably the easiest solution, but I guess some users might be disappointed:
they might be using udev for some reason, but still may not want all the systemd/dbus stuff. That said, using udev without systemd seems to go against the choices of the upstream systemd project.
This is my first option.
Quoted 5 lines
(2) Continue to use an old standalone udev, but ensure that the choice of udev and systemd are mutually exclusive. This is not very satisfying since the old udev we have is no longer maintained, so it does not look like a solution that is very future-proof.
This is a no-go.
Quoted 5 lines
(3) Package one of more recent 'udev' versions that have been extracted from systemd sources, as a separate 'udev' package that would be mutually exclusive with systemd. It's a bit like (2) but with a more recent udev version. However, it's unclear how those forked versions of udev will be maintained over time.
Currently, we have two contestants:
1) The developers of Linux From Scratch extracted the udev code from
systemd source tree:
http://www.linuxfromscratch.org/lfs/view/development/chapter06/udev.html. This does not look very maintainable, so I will not bet on it.
2) The developers of Gentoo forked udev:
https://github.com/gentoo/eudev. They want eudev to be system initialization neutral, so we might expect it not to diverge too much from upstream. And it will live as long as Gentoo lives (or moves to mdev!).
Quoted 4 lines
(4) See if it's possible to make the systemd package only provide udev. I think it is possible to install only udev, but as far as I remember, D-Bus was still required at build time, unless you did some tricks.
In the systemd source tree there is only one Makefile to compile the cathedral. A while ago, a patch was posted on hotplug mailing list to compile only udev (http://www.spinics.net/lists/hotplug/msg05503.html).
This does not look very maintainable. So compiling the cathedral and copying the files seems a better choice to me.
Quoted 6 lines
To be honest, as I'm not really using udev myself, choice (1) seems to have my preference. If udev users are not happy with the fact that they must now use systemd, then they should work that out with upstream (and I wish them good luck!).
What do you think about this?
I would also go with choice (1). But out of curiosity, I'll try to package eudev and implement choice (4) and see what comes out.
Quoted 1 line
runit ? s6 ? What are these ?
Runit and s6 are Unix init systems with service supervision. They implement the same features as Systemd, but with less *cough* freedesktop bloat. They both derive from daemontools from D.J. Berstein
(http://cr.yp.to/daemontools.html).
Service supervision is very handy in embedded devices that have to be remotely administrated (like ADSL residential gateways, Femtocells, or smart meters).
These systems also offer a cleaner way of defining services (I personally think that the unit file concept is the killer feature of systemd)
The creator of s6 (http://skarnet.org/software/s6/) has a lengthy explanation about the history and benefits of these tools.
Runit can be used as a replacement to systemd in Arch Linux
(https://github.com/chneukirchen/ignite). It is also available in Busybox! But I prefer the original implementation.
I've deployed products running s6, without any issues. But I lean towards runit because:
- s6 depends on a set of libraries that follow the /package
(slashpackage) hierarchy (http://cr.yp.to/slashpackage.html). You have to twist your brain a little bit to wrap around this concept when mixed with a traditional LSB. I've got a patch set to build these using an old Buildroot. I'll update them and post them if someone is interested.
- it is a one-man-army project.
Runit keeps the things simple and is also available in Debian.
Both do fit in embedded devices. I'll try to evaluate OpenRC one day.
PATCH 1/1 systemd: bumped to version 206
Dear Eric Le Bihan,
Quoted 15 lines · Eric Le Bihan
Le 31/08/2013 13:46, Thomas Petazzoni a ?crit :
Quoted 12 lines
I believe we have several options:
(1) No longer allow the usage of 'udev' without systemd. This is I believe what would match the best the upstream decision of making udev and systemd more and more integrated together. This would mean remove the separate 'udev' package, and turn the 'udev' /dev management method into a 'udev+systemd' management method, which would force the "init method" to be systemd. This is probably the easiest solution, but I guess some users might be disappointed:
they might be using udev for some reason, but still may not want all the systemd/dbus stuff. That said, using udev without systemd seems to go against the choices of the upstream systemd project.
Quoted 1 line
This is my first option.
Right.
Quoted 6 lines
Quoted 4 lines
(2) Continue to use an old standalone udev, but ensure that the choice of udev and systemd are mutually exclusive. This is not very satisfying since the old udev we have is no longer maintained, so it does not look like a solution that is very future-proof.
This is a no-go.
Agreed.
Quoted 13 lines
Quoted 5 lines
(3) Package one of more recent 'udev' versions that have been extracted from systemd sources, as a separate 'udev' package that would be mutually exclusive with systemd. It's a bit like (2) but with a more recent udev version. However, it's unclear how those forked versions of udev will be maintained over time.
Currently, we have two contestants:
1) The developers of Linux From Scratch extracted the udev code from
systemd source tree:
http://www.linuxfromscratch.org/lfs/view/development/chapter06/udev.html. This does not look very maintainable, so I will not bet on it.
Quoted 4 lines
2) The developers of Gentoo forked udev:
https://github.com/gentoo/eudev. They want eudev to be system initialization neutral, so we might expect it not to diverge too much from upstream. And it will live as long as Gentoo lives (or moves to mdev!).
This second fork indeed seems like a good option. In the past discussion, one issue that popped up is whether the 'libudev' and other tools/libraries provided by eudev on one side and the udev of systemd on the other side will remain API compatible over time. As you know, udev is not a standalone program, it also provides a library that is used by more and more applications/other libraries to get informations about the hardware available in the system.
Ideally, the APIs will remain compatible, so in Buildroot, we can create a 'udev' or 'libudev' virtual package, which packages needing the libudev library can depend on, and which will be implemented either by eudev or systemd.
Quoted 10 lines
Quoted 4 lines
(4) See if it's possible to make the systemd package only provide udev. I think it is possible to install only udev, but as far as I remember, D-Bus was still required at build time, unless you did some tricks.
In the systemd source tree there is only one
Makefileto compile the cathedral. A while ago, a patch was posted on hotplug mailing list to compile only udev (http://www.spinics.net/lists/hotplug/msg05503.html).
This does not look very maintainable. So compiling the cathedral and copying the files seems a better choice to me.
The only issue being that compiling the cathedral requires dbus, even if you don't need it in the end if you're only interested in udev and not the full systemd thing. That said, it's maybe something that can be tweaked later on by only compiling the relevant subdirectories in systemd sources and faking a few things to make it believe that dbus is available. We can look at this later on.
Quoted 9 lines
Quoted 6 lines
To be honest, as I'm not really using udev myself, choice (1) seems to have my preference. If udev users are not happy with the fact that they must now use systemd, then they should work that out with upstream (and I wish them good luck!).
What do you think about this?
I would also go with choice (1). But out of curiosity, I'll try to package eudev and implement choice (4) and see what comes out.
Excellent. I'm definitely looking forward to seeing your patches about this.
Quoted 32 lines
Quoted 1 line
runit ? s6 ? What are these ?
Runit and s6 are Unix init systems with service supervision. They implement the same features as Systemd, but with less *cough* freedesktop bloat. They both derive from daemontools from D.J. Berstein
(http://cr.yp.to/daemontools.html).Service supervision is very handy in embedded devices that have to be remotely administrated (like ADSL residential gateways, Femtocells, or smart meters).
These systems also offer a cleaner way of defining services (I personally think that the unit file concept is the killer feature of systemd)
The creator of s6 (http://skarnet.org/software/s6/) has a lengthy explanation about the history and benefits of these tools.
Runit can be used as a replacement to systemd in Arch Linux
(https://github.com/chneukirchen/ignite). It is also available in Busybox! But I prefer the original implementation.I've deployed products running s6, without any issues. But I lean towards runit because:
- s6 depends on a set of libraries that follow the /package
(slashpackage) hierarchy (http://cr.yp.to/slashpackage.html). You have to twist your brain a little bit to wrap around this concept when mixed with a traditional LSB. I've got a patch set to build these using an old Buildroot. I'll update them and post them if someone is interested.
- it is a one-man-army project.
Quoted 3 lines
Runit keeps the things simple and is also available in Debian.
Both do fit in embedded devices. I'll try to evaluate OpenRC one day.
Wow, thanks a lot for those details. Looks really interesting indeed. In this area, I had heard in the past of PCD (Process Control Daemon),
http://www.rt-embedded.com/blog/pcd-process-control-daemon/, but I never had the opportunity to test it.
Best regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 systemd: bumped to version 206
In reply to eric.le.bihan.dev at free.frOn 08/30/13 16:32, eric.le.bihan.dev at free.fr wrote:
[snip]
Quoted 7 lines
SYSTEMD_CONF_OPT += \package/systemd/systemd.mk +3
-1- --with-distro=other \ + --localstatedir=/var \ + --enable-static=no \ + --disable-manpages \ --disable-selinux \ --disable-pam \
package/systemd/systemd.mk ifeq ($(BR2_PACKAGE_BUSYBOX),y) · line 36
Quoted 10 lines
package/systemd/systemd.mk +0
-5--disable-libcryptsetup \ - --disable-gtk \ - --disable-plymouth \ - --with-rootdir=/ \ --with-dbuspolicydir=/etc/dbus-1/system.d \ --with-dbussessionservicedir=/usr/share/dbus-1/services \ --with-dbussystemservicedir=/usr/share/dbus-1/system-services \ --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \ - --with-udevrulesdir=/etc/udev/rules.d \ - --with-sysvinit-path=/etc/init.d/ \
Are these two really not needed anymore?
Regards,
Arnout
Quoted 7 lines
package/systemd/systemd.mk +5
-2- --without-sysvrcd-path \ - --enable-split-usr + --enable-split-usr \ + --enable-introspection=no \ + --disable-efi \ + --disable-myhostname \ + --without-python
[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
PATCH 1/1 systemd: bumped to version 206
Quoted 3 lines
package/systemd/systemd.mk ifeq ($(BR2_PACKAGE_BUSYBOX),y) · line 30
Quoted 3 lines
package/systemd/systemd.mk +0
-3- --disable-gtk \ - --disable-plymouth \ - --with-rootdir=/ \
These ones have been removed from ./configure
Quoted 1 line
package/systemd/systemd.mk ifeq ($(BR2_PACKAGE_BUSYBOX),y) · line 35
Quoted 1 line
package/systemd/systemd.mk +0
-1- --with-udevrulesdir=/etc/udev/rules.d \
This one too.
Quoted 1 line
package/systemd/systemd.mk ifeq ($(BR2_PACKAGE_BUSYBOX),y) · line 36
Quoted 1 line
package/systemd/systemd.mk +0
-1- --with-sysvinit-path=/etc/init.d/ \
The default value generated by the ./configure is correct.
Quoted 1 line
Review
Quoted 1 line
(quoted diff) +0
-1- --without-sysvrcd-path
This one has been replaced by '--with-sysvrcnd-path=PATH'. The default value is also correct.
I have not tested SysV scripts compatibility, though.
Quoted 1 line
package/systemd/systemd.mk ifeq ($(BR2_PACKAGE_BUSYBOX),y) · line 38
Quoted 1 line
package/systemd/systemd.mk +0
-1- --enable-split-usr
This is one is need. I should have not removed it.