[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