Openembedded Core Discussions
 help / color / mirror / Atom feed
From: ChenQi <Qi.Chen@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [oe-commits] Hongxu Jia : util-linux: use u-a for su
Date: Fri, 9 Aug 2013 15:11:31 +0800	[thread overview]
Message-ID: <52049623.7020308@windriver.com> (raw)
In-Reply-To: <20130808172507.GB3269@jama>

[-- Attachment #1: Type: text/plain, Size: 4439 bytes --]

Hi Martin,

I think this is the same problem we discussed before.
The thread is "busybox: fix the on-target upgrade problem".

The problem roots in opkg's update-alternatives.
At that time, I made a patch to fix this problem.
I didn't send it out because I then found some other problems with 
update-alternatives in OE/Yocto.
And I filed a bug to track these issues. I wanted to fix them all in one 
patchset.
(https://bugzilla.yoctoproject.org/show_bug.cgi?id=4836)

Best Regards,
Chen Qi

On 08/09/2013 01:25 AM, Martin Jansa wrote:
> On Wed, Jul 31, 2013 at 05:51:35AM +0000, git@git.openembedded.org wrote:
>> Module: openembedded-core.git
>> Branch: master
>> Commit: 6190c69a9f78aeef951c39e4c8700e945bbec5f7
>> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=6190c69a9f78aeef951c39e4c8700e945bbec5f7
>>
>> Author: Hongxu Jia <hongxu.jia@windriver.com>
>> Date:   Fri Jul 26 20:09:08 2013 +0800
>>
>> util-linux: use u-a for su
>>
>> Use alternatives mechanism to prevent confliction of attempted
>> installing su binary among busybox, shadow and util-linux.
>>
>> [YOCTO #4926]
>>
>> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> Doesn't seem to work correctly:
>
> Configuring util-linux.
> update-alternatives: Linking //bin/dmesg to /bin/dmesg.util-linux
> update-alternatives: Linking //bin/kill to /bin/kill.procps
> update-alternatives: Linking //bin/more to /bin/more.util-linux
> update-alternatives: Linking //sbin/mkswap to /sbin/mkswap.util-linux
> update-alternatives: Linking //sbin/blockdev to /sbin/blockdev.util-linux
> update-alternatives: Linking //sbin/pivot_root to /sbin/pivot_root.util-linux
> update-alternatives: Linking //sbin/mkfs.minix to /sbin/mkfs.minix.util-linux
> update-alternatives: Linking //usr/bin/hexdump to /usr/bin/hexdump.util-linux
> update-alternatives: Linking //usr/bin/last to /usr/bin/last.util-linux
> update-alternatives: Linking //usr/bin/logger to /usr/bin/logger.util-linux
> update-alternatives: Linking //usr/bin/mesg to /usr/bin/mesg.util-linux
> update-alternatives: Linking //usr/bin/renice to /usr/bin/renice.util-linux
> update-alternatives: Linking //usr/bin/wall to /usr/bin/wall.util-linux
> update-alternatives: Linking //usr/bin/setsid to /usr/bin/setsid.util-linux
> update-alternatives: Linking //usr/bin/chrt to /usr/bin/chrt.util-linux
> update-alternatives: Linking //usr/bin/flock to /usr/bin/flock.util-linux
> update-alternatives: Linking //sbin/hwclock to /bin/busybox.nosuid
> update-alternatives: Linking //usr/bin/utmpdump to /usr/bin/utmpdump.util-linux
> update-alternatives: Linking //usr/bin/eject to /usr/bin/eject.util-linux
> update-alternatives: Linking //bin/getopt to /usr/bin/getopt
> update-alternatives: Error: cannot register alternative su to /usr/bin/su since it is already registered to /bin/su
>
> SHR root@gjama ~ $ cat /var/lib/opkg/alternatives/su
> /bin/su
> /bin/busybox.suid 50
>
> should base_bindir be used for ALTERNATIVE_LINK_NAME and bindir for TARGET?
>
>> ---
>>
>>   meta/recipes-core/util-linux/util-linux.inc |    7 +++++++
>>   1 files changed, 7 insertions(+), 0 deletions(-)
>>
>> diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
>> index 3c8c246..961bcc5 100644
>> --- a/meta/recipes-core/util-linux/util-linux.inc
>> +++ b/meta/recipes-core/util-linux/util-linux.inc
>> @@ -215,3 +215,10 @@ ALTERNATIVE_LINK_NAME[reset] = "${bindir}/reset"
>>   ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset"
>>   
>>   BBCLASSEXTEND = "native nativesdk"
>> +
>> +python do_package_prepend () {
>> +    if '--enable-su' in d.getVar('EXTRA_OECONF', True).split():
>> +        alt_name = "su"
>> +        d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, '%s/%s' % (d.getVar('bindir', True), alt_name))
>> +        d.appendVar('ALTERNATIVE_%s' % (d.getVar('PN', True)), ' ' + alt_name)
>> +}
>>
>> _______________________________________________
>> Openembedded-commits mailing list
>> Openembedded-commits@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-commits
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


[-- Attachment #2: Type: text/html, Size: 6071 bytes --]

      parent reply	other threads:[~2013-08-09  7:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20130731055135.A7345504BD@opal>
2013-08-08 17:25 ` [oe-commits] Hongxu Jia : util-linux: use u-a for su Martin Jansa
2013-08-09  6:47   ` Hongxu Jia
2013-08-09  7:22     ` Martin Jansa
2013-08-09  7:30       ` ChenQi
2013-08-09  7:11   ` ChenQi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52049623.7020308@windriver.com \
    --to=qi.chen@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox