[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