[OE-core] [PATCH] sysklogd: add alternatives for klogd and syslogd
Victor Kamensky
kamensky at cisco.com
Mon Oct 29 18:27:19 UTC 2018
Hi Mark,
On Mon, 29 Oct 2018, Mark Hatle wrote:
> 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.
Please see
http://lists.openembedded.org/pipermail/openembedded-core/2018-October/157078.html
oe-core is fine: ef11c54ba9. In order to follow
meta-selinux needs something like this to avoid
'update-alternatives: Error:' mentioned on the thead:
>From dd75b2ca77b3bfcb14030c353e6b2bfc7df8dfec Mon Sep 17 00:00:00 2001
From: Victor Kamensky <kamensky at cisco.com>
Date: Mon, 29 Oct 2018 11:16:09 -0700
Subject: [PATCH] busybox: Put klogd/syslogd alternative links in syslog
package
Port "ef11c54ba9 busybox: Put klogd/syslogd alternative links in
syslog package" from oe-core to meta-selinux copy of
update-alternative handling in busybox.bbappend
Signed-off-by: Victor Kamensky <kamensky at cisco.com>
---
recipes-core/busybox/busybox_selinux.inc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/recipes-core/busybox/busybox_selinux.inc b/recipes-core/busybox/busybox_selinux.inc
index df7c117..b8cfcd7 100644
--- a/recipes-core/busybox/busybox_selinux.inc
+++ b/recipes-core/busybox/busybox_selinux.inc
@@ -37,7 +37,11 @@ python create_sh_wrapper_reset_alternative_vars () {
# Match coreutils
if alt_name == '[':
alt_name = 'lbracket'
- d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
+ if alt_name == 'klogd' or alt_name == 'syslogd':
+ d.appendVar('ALTERNATIVE_%s-syslog' % (pn), ' ' + alt_name)
+ else:
+ d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
+
d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
if os.path.exists(alt_wppath_dest):
d.setVarFlag('ALTERNATIVE_TARGET', alt_name, alt_wppath)
--
2.14.4
I don't know yet what mailing list I should use for meta-selinux. As
time permits I'll try to figure out and post above patch there, if
it is still needed.
Thanks,
Victor
> --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