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

Mark Hatle mark.hatle at windriver.com
Mon Oct 29 16:24:57 UTC 2018


On 10/26/18 2:55 AM, Victor Kamensky wrote:
> 
> 
> 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.

As a maintainer for meta-selinux, if meta-selinux is broken.. it's
meta-selinux's fault.. NOT oe-core.  oe-core must work for itself first.

Fix OE-core properly and the other layers will follow.

--Mark

> 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