On 08/30/2018 03:44 PM, Peter Kjellerstedt wrote:
-----Original Message-----
From: openembedded-core-boun...@lists.openembedded.org <openembedded-
core-boun...@lists.openembedded.org> On Behalf Of Khem Raj
Sent: den 30 augusti 2018 05:56
To: openembedded-core@lists.openembedded.org
Subject: [OE-core] [PATCH 3/7] sysklogd: Use update-alternatives

busybox also provides klogd and syslogd, this change makes it coexist
peacefully. Currently rootfs fails in situations where both of them are
providing these binaries and busybox postinsts fail

update-alternatives: Error: not linking
/mnt/a/oe/build/tmp/work/qemuriscv64-bec-linux/core-image-full-
cmdline/1.0-r0/rootfs/sbin/klogd
to /bin/busybox.nosuid since
/mnt/a/oe/build/tmp/work/qemuriscv64-bec-linux/core-image-full-
cmdline/1.0-r0/rootfs/sbin/klogd
exists and is not a link

Signed-off-by: Khem Raj <raj.k...@gmail.com>
---
  meta/recipes-extended/sysklogd/sysklogd.inc | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc
b/meta/recipes-extended/sysklogd/sysklogd.inc
index fc4e67c18e..2a8bed00f3 100644
--- a/meta/recipes-extended/sysklogd/sysklogd.inc
+++ b/meta/recipes-extended/sysklogd/sysklogd.inc
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
                      
file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \
                     "

-inherit update-rc.d systemd
+inherit update-rc.d systemd update-alternatives

  SRC_URI = 
"http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \
             file://no-strip-install.patch \
@@ -70,3 +70,9 @@ python () {
      if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
          d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
  }
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "klogd syslogd"
+ALTERNATIVE_LINK_NAME[klogd] = "${base_sbindir}/klogd"
+ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
+
--
2.18.0
This is a (partial) revert of commit 988aad01b2 (sysklogd: don't use
update-alternatives). Can you come to an agreement regarding which is
the correct solution?

//Peter



I think the previous commit (syslogd: don't use update-alternatives) is made because syslog daemon conflict with each other. I guess the author assumed that the 'syslogd' and 'klogd' alternatives entries are handled by busybox-syslog package.

On the other hand, I think the patch is trying to solve the problem of busybox being installed after sysklogd. We are currently not seeing errors because busybox is likely to be installed before sysklogd. Even in this situation, the result is not all correct, because the links busybox's postinstall creates are covered by the real binaries from sysklogd.

I think the problem is about busybox's handling of alternatives.

Khem, I've sent out a patch to fix busybox's alternatives logic. Could you please help review it?

Best Regards,
Chen Qi
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to