All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Barker <paul@paulbarker.me.uk>
To: Christopher Larson <clarson@kergoth.com>
Cc: Yocto discussion list <yocto@yoctoproject.org>,
	OE Devel <openembedded-devel@lists.openembedded.org>
Subject: Re: [yocto] toybox in OpenEmbedded
Date: Mon, 18 Aug 2014 14:43:16 +0000	[thread overview]
Message-ID: <20140818144316.GF12992@gmail.com> (raw)
In-Reply-To: <CABcZANmKtKEC=VX2La83gpvQVA84yf6VdUvNXv412Nwjk_2zDA@mail.gmail.com>

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

On Mon, Aug 18, 2014 at 07:29:33AM -0700, Christopher Larson wrote:
> On Mon, Aug 18, 2014 at 6:44 AM, Paul Barker <paul@paulbarker.me.uk> wrote:
> 
> > I've been wanting to try out toybox within OpenEmbedded for quite a while
> > and
> > have finally found time to put a recipe together. Toybox is a BSD-licensed
> > alternative to Busybox which may be of interest to a few people. It's
> > still a
> > work in progress but it already covers a large number of the basic
> > commands a
> > system needs. It should tie in well with the recent work Khem has done to
> > enable
> > the use of musl in OpenEmbedded as toybox and musl are often used together
> > (e.g.
> > Aboriginal Linux distro).
> >
> > My patches are currently against openembedded-core for convenience but this
> > probably belongs in meta-oe for now. I've done some basic testing on
> > qemuarm but
> > nothing significant. toybox builds and installs correctly though and I've
> > set
> > ALTERNATIVE_PRIORITY = 60 so that it takes precedence over busybox tools.
> >
> > Removing toybox after it has been installed currently bricks the system
> > though
> > as the postrm script runs after '/bin/toybox' has been removed (so things
> > like
> > '/bin/ln' become broken links and the update-alternatives script can't
> > run).
> >
> 
> One option for that might be to try the C implementation of alternatives
> that's provided in chkconfig, rather than cworth's shell version. I haven't
> tested it in that context, but I doubt it runs so many external tools.

I did try that at one point in the last year or so but couldn't get it to work.
I think it was something to do with it lacking offline root support. The only
implementation I've been able to get working is the shell script one which is
now in opkg-utils.

I'm actually looking at making a new update-alternatives implementation in C as
I wanted to explore a few alternative ways of doing things. I was going to post
about that once I have some basic working code.

I think the solution for the removal problem is to call update-alternatives in a
pre-rm script rather than a post-rm script. There's already an entry in the opkg
issue tracker for adding support for pre-rm scripts, that's another thing I'm
planning on fixing soon.

Thanks,

-- 
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk

[-- Attachment #2: Type: application/pgp-signature, Size: 484 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Paul Barker <paul@paulbarker.me.uk>
To: Christopher Larson <clarson@kergoth.com>
Cc: Yocto discussion list <yocto@yoctoproject.org>,
	OE Devel <openembedded-devel@lists.openembedded.org>
Subject: Re: toybox in OpenEmbedded
Date: Mon, 18 Aug 2014 14:43:16 +0000	[thread overview]
Message-ID: <20140818144316.GF12992@gmail.com> (raw)
In-Reply-To: <CABcZANmKtKEC=VX2La83gpvQVA84yf6VdUvNXv412Nwjk_2zDA@mail.gmail.com>

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

On Mon, Aug 18, 2014 at 07:29:33AM -0700, Christopher Larson wrote:
> On Mon, Aug 18, 2014 at 6:44 AM, Paul Barker <paul@paulbarker.me.uk> wrote:
> 
> > I've been wanting to try out toybox within OpenEmbedded for quite a while
> > and
> > have finally found time to put a recipe together. Toybox is a BSD-licensed
> > alternative to Busybox which may be of interest to a few people. It's
> > still a
> > work in progress but it already covers a large number of the basic
> > commands a
> > system needs. It should tie in well with the recent work Khem has done to
> > enable
> > the use of musl in OpenEmbedded as toybox and musl are often used together
> > (e.g.
> > Aboriginal Linux distro).
> >
> > My patches are currently against openembedded-core for convenience but this
> > probably belongs in meta-oe for now. I've done some basic testing on
> > qemuarm but
> > nothing significant. toybox builds and installs correctly though and I've
> > set
> > ALTERNATIVE_PRIORITY = 60 so that it takes precedence over busybox tools.
> >
> > Removing toybox after it has been installed currently bricks the system
> > though
> > as the postrm script runs after '/bin/toybox' has been removed (so things
> > like
> > '/bin/ln' become broken links and the update-alternatives script can't
> > run).
> >
> 
> One option for that might be to try the C implementation of alternatives
> that's provided in chkconfig, rather than cworth's shell version. I haven't
> tested it in that context, but I doubt it runs so many external tools.

I did try that at one point in the last year or so but couldn't get it to work.
I think it was something to do with it lacking offline root support. The only
implementation I've been able to get working is the shell script one which is
now in opkg-utils.

I'm actually looking at making a new update-alternatives implementation in C as
I wanted to explore a few alternative ways of doing things. I was going to post
about that once I have some basic working code.

I think the solution for the removal problem is to call update-alternatives in a
pre-rm script rather than a post-rm script. There's already an entry in the opkg
issue tracker for adding support for pre-rm scripts, that's another thing I'm
planning on fixing soon.

Thanks,

-- 
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk

[-- Attachment #2: Type: application/pgp-signature, Size: 484 bytes --]

  reply	other threads:[~2014-08-18 14:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-18 13:44 toybox in OpenEmbedded Paul Barker
2014-08-18 14:29 ` [yocto] " Christopher Larson
2014-08-18 14:29   ` Christopher Larson
2014-08-18 14:43   ` Paul Barker [this message]
2014-08-18 14:43     ` Paul Barker

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=20140818144316.GF12992@gmail.com \
    --to=paul@paulbarker.me.uk \
    --cc=clarson@kergoth.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=yocto@yoctoproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.