<div dir="ltr">Hi Chen,<div><br></div><div>1) install image created before this change on target device (which doesn't include coreutils, wget and is depending on usable busybox)</div><div>2) build feeds which include this change</div>
<div>3) run "opkg update && opkg upgrade" on target device (or equivalent in your favorite package manager)</div><div>4) you'll get unusable (and probably unbootable) system at this point, because /bin/busybox binary from old busybox version was already removed, but u-a symlinks to new /bin/busybox.(no)suid weren't created because "sed" used in u-a doesn't work anymore.</div>
<div><br></div><div>As work around I've used</div><div>ln -s /bin/busybox.nosuid /bin/busybox</div><div>to make old u-a links happy and able to finish postinst in new busybox version.</div><div><br></div><div>FWIW: having /bin/busybox -> busybox.nosuid sounds like good idea to have "default" busybox in path for people who're running it directly.</div>
<div><br></div><div>Regards,</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 1, 2013 at 4:14 AM, ChenQi <span dir="ltr"><<a href="mailto:Qi.Chen@windriver.com" target="_blank">Qi.Chen@windriver.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 06/28/2013 07:56 PM, Martin Jansa wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, Jun 25, 2013 at 04:37:58PM +0000, <a href="mailto:git@git.openembedded.org" target="_blank">git@git.openembedded.org</a> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Module: openembedded-core.git<br>
Branch: master<br>
Commit: e5a1442819dfb74e86a6f69da008ba<u></u>6908c8bbc7<br>
URL: <a href="http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e5a1442819dfb74e86a6f69da008ba6908c8bbc7" target="_blank">http://git.openembedded.org/?<u></u>p=openembedded-core.git&a=<u></u>commit;h=<u></u>e5a1442819dfb74e86a6f69da008ba<u></u>6908c8bbc7</a><br>
<br>
Author: Chen Qi <<a href="mailto:Qi.Chen@windriver.com" target="_blank">Qi.Chen@windriver.com</a>><br>
Date: Mon Jun 17 12:47:20 2013 +0800<br>
<br>
busybox: add the ability to split the busybox binary<br>
<br>
This patch enables us to split the busybox into two binaries, one<br>
containing suid applications, and the other containing nosuid apps.<br>
<br>
Add a variable, BUSYBOX_SPLIT_SUID, to control whether to split the<br>
busybox binary into two parts. We default it to "1" to enable the<br>
splitting, but users could still override it to disable the splitting.<br>
After all, busybox has no internal support for this suid apps splitting,<br>
so there might be users out there who want just one busybox binary.<br>
<br>
The basic idea here is to build the busybox twice, each with the correct<br>
configuration items. We extract the non-app part of the original .config<br>
file, and merge this part with the suid-app part to form a .config which<br>
contains only suid apps. The same strategy applies to the non-suid apps.<br>
</blockquote>
Hi,<br>
<br>
have you tried to do on-device upgrade with this change?<br>
It looks very broken, description follows:<br>
<br>
13:48:33 < JaMa> was sed applet removed from busybox or something like that? upgrade path seems to be broken<br>
13:48:34 < JaMa> Configuring busybox-syslog.<br>
13:48:34 < JaMa> /usr/bin/update-alternatives: line 186: sed: not found<br>
13:48:58 < JaMa> and then all applets in main busybox package fail to set u-a because of missing sed..<br>
13:49:27 < JaMa> and then fixing that is more complicated because wget symlink is gone too, so opkg update opkg upgrade wont work<br>
13:49:40 < zecke> JaMa: IIRC the specific postinst was removed from busybox?!<br>
13:50:55 < JaMa> /var/lib/opkg/info/busybox.<u></u>postinst is still there<br>
13:51:02 < JaMa> with a lot of u-a calls<br>
13:51:34 < zecke> JaMa: generated by the bbclass and not the one that was in the busybox.inc (but i only read the digest and skip stuff)<br>
13:51:37 < JaMa> that commit says it removes redundant u-a<br>
13:52:11 < JaMa> SHR root@gjama ~ $ grep sed /var/lib/opkg/info/busybox.<u></u>postinst update-alternatives --install /bin/sed sed /bin/busybox.nosuid 50<br>
13:52:23 < zecke> JaMa: Do you know if they/he tested on device upgrade?<br>
13:52:56 < zecke> i am obviously just guessing<br>
13:54:05 < JaMa> all u-a are still pointing to /bin/busybox, but that one is gone replaced by /bin/busybox.(no)suid<br>
13:54:44 < JaMa> we should install /bin/busybox -> /bin/busybox.nosuid to fix upgrade path..<br>
</blockquote></div></div>
Hi Martin,<br>
<br>
Could you please provide me more information about how to reproduce this problem?<br>
<br>
Thanks,<br>
Chen Qi<br>
</blockquote></div><br></div>