Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] sysklogd: add alternatives for klogd and syslogd
@ 2018-10-26  4:53 Victor Kamensky
  2018-10-26  5:08 ` ChenQi
  2018-10-26  7:29 ` Markus Lehtonen
  0 siblings, 2 replies; 8+ messages in thread
From: Victor Kamensky @ 2018-10-26  4:53 UTC (permalink / raw)
  To: openembedded-core

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@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



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] sysklogd: add alternatives for klogd and syslogd
  2018-10-26  4:53 [PATCH] sysklogd: add alternatives for klogd and syslogd Victor Kamensky
@ 2018-10-26  5:08 ` ChenQi
  2018-10-26  7:28   ` Victor Kamensky
  2018-10-26  7:29 ` Markus Lehtonen
  1 sibling, 1 reply; 8+ messages in thread
From: ChenQi @ 2018-10-26  5:08 UTC (permalink / raw)
  To: Victor Kamensky, openembedded-core

On 10/26/2018 12:53 PM, Victor Kamensky via Openembedded-core 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.

Hi Victor,

I think this problem has been fixed by the following commit.

"""
commit ef11c54ba99af261a70ec31091216cdd1556da24
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Wed Sep 5 17:39:31 2018 +0100

     busybox: Put klogd/syslogd alternative links in syslog package

     Currently these are in ${PN} and ${PN}-syslog may get replaced by
     other packages but update-alternatives would error in the postinst
     if other files were installed first. Avoid the problems by putting
     the links in the correct package.

     Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"""

For the current status, the update-alternatives operations for syslogd 
and klogd should be in the busybox-syslog package, which conflicts with 
sysklogd package.

Could you please help check this?

Best Regards,
Chen Qi

>   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@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




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] sysklogd: add alternatives for klogd and syslogd
  2018-10-26  5:08 ` ChenQi
@ 2018-10-26  7:28   ` Victor Kamensky
  0 siblings, 0 replies; 8+ messages in thread
From: Victor Kamensky @ 2018-10-26  7:28 UTC (permalink / raw)
  To: ChenQi; +Cc: openembedded-core

Hi Chen,

On Fri, 26 Oct 2018, ChenQi wrote:

> On 10/26/2018 12:53 PM, Victor Kamensky via Openembedded-core 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.
>
> Hi Victor,
>
> I think this problem has been fixed by the following commit.
>
> """
> commit ef11c54ba99af261a70ec31091216cdd1556da24
> Author: Richard Purdie <richard.purdie@linuxfoundation.org>
> Date:   Wed Sep 5 17:39:31 2018 +0100
>
>    busybox: Put klogd/syslogd alternative links in syslog package
>
>    Currently these are in ${PN} and ${PN}-syslog may get replaced by
>    other packages but update-alternatives would error in the postinst
>    if other files were installed first. Avoid the problems by putting
>    the links in the correct package.
>
>    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> """
>
> For the current status, the update-alternatives operations for syslogd and 
> klogd should be in the busybox-syslog package, which conflicts with sysklogd 
> package.
>
> Could you please help check this?

Thank you! That helps. I see it now. Apprently busybox.bbappend
from meta-selinux layer:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-selinux/tree/recipes-core/busybox/busybox_selinux.inc

is effectively undoing effect of above commit in my workspace.

meta-selinux is doing it because of

http://git.yoctoproject.org/cgit/cgit.cgi/meta-selinux/commit/?id=521ca9c9cf370840e9f8c808a7955aa5da7c356e

It seems changes similar to above Richard's commit needed to
be applied there as well. After applying that to busybox_selinux.inc
in meta-selinux my problem goes away.

No need for proposed below patch.

Thanks,
Victor

> Best Regards,
> Chen Qi
>
>>   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@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
>
>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] sysklogd: add alternatives for klogd and syslogd
  2018-10-26  4:53 [PATCH] sysklogd: add alternatives for klogd and syslogd Victor Kamensky
  2018-10-26  5:08 ` ChenQi
@ 2018-10-26  7:29 ` Markus Lehtonen
  2018-10-26  7:55   ` Victor Kamensky
  1 sibling, 1 reply; 8+ messages in thread
From: Markus Lehtonen @ 2018-10-26  7:29 UTC (permalink / raw)
  To: Victor Kamensky, openembedded-core

'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.

Cheers,
  Markus

On 26/10/2018, 7.55, "Victor Kamensky" <kamensky@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@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
    
    




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] sysklogd: add alternatives for klogd and syslogd
  2018-10-26  7:29 ` Markus Lehtonen
@ 2018-10-26  7:55   ` Victor Kamensky
  2018-10-29 16:24     ` Mark Hatle
  0 siblings, 1 reply; 8+ messages in thread
From: Victor Kamensky @ 2018-10-26  7:55 UTC (permalink / raw)
  To: Markus Lehtonen; +Cc: openembedded-core

[-- Attachment #1: Type: TEXT/PLAIN, Size: 4115 bytes --]



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@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@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
>
>
>
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] sysklogd: add alternatives for klogd and syslogd
  2018-10-26  7:55   ` Victor Kamensky
@ 2018-10-29 16:24     ` Mark Hatle
  2018-10-29 18:27       ` Victor Kamensky
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Hatle @ 2018-10-29 16:24 UTC (permalink / raw)
  To: Victor Kamensky, Markus Lehtonen; +Cc: openembedded-core

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@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@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
>>
>>
>>
>>
>>
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] sysklogd: add alternatives for klogd and syslogd
  2018-10-29 16:24     ` Mark Hatle
@ 2018-10-29 18:27       ` Victor Kamensky
  2018-10-29 19:14         ` Mark Hatle
  0 siblings, 1 reply; 8+ messages in thread
From: Victor Kamensky @ 2018-10-29 18:27 UTC (permalink / raw)
  To: Mark Hatle; +Cc: openembedded-core

[-- Attachment #1: Type: TEXT/PLAIN, Size: 6609 bytes --]

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@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@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@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@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
>>>
>>>
>>>
>>>
>>>
>>
>
>

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] sysklogd: add alternatives for klogd and syslogd
  2018-10-29 18:27       ` Victor Kamensky
@ 2018-10-29 19:14         ` Mark Hatle
  0 siblings, 0 replies; 8+ messages in thread
From: Mark Hatle @ 2018-10-29 19:14 UTC (permalink / raw)
  To: Victor Kamensky; +Cc: openembedded-core

On 10/29/18 1:27 PM, Victor Kamensky wrote:
> 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:

I'd not read that thread prior.  meta-selinux info should be sent to:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-selinux/tree/MAINTAINERS

"Please submit any patches against meta-selinux to the Yocto Project mailing
list (yocto@yoctoproject.org)."

But as I said before.. ignore meta-selinux for the purpose of fixing this.  If
it's broken, we fix it -right- in oe-core... and THEN we fix meta-selinux.  This
is the policy I follow for all layers.  oe-core first, layers in parallel or second.

Obviously if you know a layer has certain expectation (as you do here), it's
good to try to understand them and verify that any fix won't prevent the
required behavior -- but correctness in oe-core is the immediate priority.

--Mark

> From dd75b2ca77b3bfcb14030c353e6b2bfc7df8dfec Mon Sep 17 00:00:00 2001
> From: Victor Kamensky <kamensky@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@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)
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-10-29 19:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-26  4:53 [PATCH] sysklogd: add alternatives for klogd and syslogd Victor Kamensky
2018-10-26  5:08 ` ChenQi
2018-10-26  7:28   ` Victor Kamensky
2018-10-26  7:29 ` Markus Lehtonen
2018-10-26  7:55   ` Victor Kamensky
2018-10-29 16:24     ` Mark Hatle
2018-10-29 18:27       ` Victor Kamensky
2018-10-29 19:14         ` Mark Hatle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox