[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#823323: busybox: Side effect after disabling CONFIG_FEATURE_PREFER_APPLETS



Control: reassign -1 src:klibc 2.0.4-8

On Wed, 2016-05-04 at 08:58 +0800, Steven Shiau wrote:
> On 5/4/2016 AM 04:26, Ben Hutchings wrote:
> > 
> > 
> > On 3 May 2016 15:27:07 CEST, Steven Shiau <steven@nchc.org.tw> wrote:
> > > 
> > > Package: busybox
> > > Version: 1:1.22.0-19
> > > Severity: important
> > > 
> > > Dear Maintainer,
> > > 
> > > To address the issue about kmod's modprobe in busybox (#821307), the
> > > CONFIG_FEATURE_PREFER_APPLETS is disabled in busybox 1:1.22.0-19.
> > > However, this causes some issues for live-boot. There are some commands
> > > in
> > > the shell script use the options that the commands from kmod do not
> > > support.
> > I guess you mean klibc-utils not kmod?
> Oh, YES. My bad. Thanks for correcting that.
> > 
> > 
> > > 
> > > E.g. now when "ls" is used, the one from kmod is used. However, it only
> > > supports option "-h":
> > > $ bin/ls -h
> > > Usage: ls [-h] [FILE ...]
> > [...]
> > 
> > /bin/ls should be a symlink to busybox. Why isn't it?
> No idea here. Is it due to the config of initramfs-tools? There are some 
> more files in initrd.img in the Debian live are from klibc-utils:
> # file * | grep klibc | awk -F":" '{print $1}'
> cat
> chroot
> cpio
> dd
[...]

I bet this is due to removing the busybox hook from initramfs-tools
itself.

The ordering of initramfs-tools hooks is firstly ordered by
dependencies, but secondly by name (not documented, but implicit in the
implementation).

We used to run hooks in this order:

1. busybox (initramfs-tools)
2. klibc (initramfs-tools)

busybox version 1:1.21.0-2exp changed the order to:

1. busybox (initramfs-tools)
2. klibc (initramfs-tools)
3. zz-busbyox (busybox)

initramfs-toools version 0.123 changed the order to:

1. klibc (klibc-utils)
2. zz-busybox (busybox)

Each of the hooks generally avoids overwriting anything in /bin, so
where both busybox and klibc-utils provide the same command we used to
favour busybox and now we favour klibc-utils.  This didn't make much
difference in practice until I made this config change in busybox.

Since initramfs-tools only allows hook A to declare a dependency on
(must run after) hook B, not to declare that it must run before hook B,
this has to be solved in klibc.

Ben.

-- 
Ben Hutchings
In a hierarchy, every employee tends to rise to his level of incompetence.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: