[OE-core] [PATCH] sysklogd: add alternatives for klogd and syslogd

Victor Kamensky kamensky at cisco.com
Fri Oct 26 07:55:08 UTC 2018



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" <kamensky at cisco.com> 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 <kamensky at cisco.com>
>    ---
>    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
>
>
>
>
>


More information about the Openembedded-core mailing list