On Fri, 26 Oct 2018, Markus Lehtonen wrote:

'why would you want to have multiple, alternative
syslog daemons on the system? Wouldn't a better
fix be to move the syslogd and klogd symlinks to the
busybox-syslog package? It doesn't seem to make much
sense to have a syslogd binary on the system without
an init script(?)

The original problem really was related to managing
init scripts with alternatives (and I think that
problem still persists, and, it shouldn't be done).
So, using alternatives for the binaries wouldn't
cause any problems. The question is just why to
do this, instead of "fixing" the (binary) package
content so that existing rconflicts would handle it.

Thank you, Markus. Please see ChenQi reply on the
thread. I has already been fixed by Richard in the
way you suggested.

My problem was because similar fix was not present
in meta-selinux busybox.bbappend ... meta-selinux practically
has a copy of alternative handling for busybox
because of SELinux labeling requirements and it was
negating Richard's change.

So it is sorted out now.

Thanks,
Victor

Cheers,
 Markus

On 26/10/2018, 7.55, "Victor Kamensky" <[email protected]> wrote:

   Otherwise when used in presense of busybox that provides
   its own version of klogd and syslogd, image packaging
   complains that klogd exists and it is not syymbolic link.
   Failure happens only if image packaging script install
   sysklogd package first followed by installtion of busybox
   package. If during packaging reverse installtion order
   happens, busybox first followed by sysklogd, packaging
   succeed.

   Note this fix along with recently committed
   55ba9dc1f8 sysklogd: Re-enable alternatives for syslogd.8 man page
   effectively reverts this commit
   988aad01b2 sysklogd: don't use update-alternatives

   Signed-off-by: Victor Kamensky <[email protected]>
   ---
   Hi Guys,

   Here is more details. Example of failure that I observe:

   update-alternatives: Error: not linking 
/home/wd8/oe/20181021/build/tmp-glibc/work/intel_corei7_64-oe-linux/kdevel-console-devel-image/1.0-r0/rootfs/sbin/klogd
 to /usr/lib/busybox/sbin/klogd since 
/home/wd8/oe/20181021/build/tmp-glibc/work/intel_corei7_64-oe-linux/kdevel-console-devel-image/1.0-r0/rootfs/sbin/klogd
 exists and is not a link

   Also 988aad01b2 says:

   > Using update-alternatives for managing init scripts has proved to be
   > problematic. And, sysklogd rconflicts with other syslog daemons so there
   > is no point in using update-alternatives from this perspective, either.

   I am not sure why "managing init scripts has proved to be problematic" and
   syslogd and klogd are not really init script per se, aren't they? Also
   klogd and syslogd actually come from busybox, not busybox-syslog as listed
   in sysklogd RCONFLICTS. Maybe it what has changed since 988aad01b2.
   busybox-syslog now contains only init script for syslog and its
   configuration.

   Adding Markus for further comments.

    meta/recipes-extended/sysklogd/sysklogd.inc | 5 +++++
    1 file changed, 5 insertions(+)

   diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc 
b/meta/recipes-extended/sysklogd/sysklogd.inc
   index f151dd87f7..4393a39180 100644
   --- a/meta/recipes-extended/sysklogd/sysklogd.inc
   +++ b/meta/recipes-extended/sysklogd/sysklogd.inc
   @@ -60,9 +60,14 @@ FILES_${PN} += 
"${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}

    ALTERNATIVE_PRIORITY = "100"

   +ALTERNATIVE_${PN} = "syslogd klogd"
   +
    ALTERNATIVE_${PN}-doc = "syslogd.8"
    ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"

   +ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
   +ALTERNATIVE_LINK_NAME[klogd] = "${base_sbindir}/klogd"
   +
    pkg_prerm_${PN} () {
        if test "x$D" = "x"; then
        if test "$1" = "upgrade" -o "$1" = "remove"; then
   --
   2.17.2




-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to