[Toybox] https://ossna19.sched.com/event/PTag/toybox-vs-busybox-rob-landley-hobbyist

Rob Landley rob at landley.net
Tue Aug 27 09:03:57 PDT 2019


On 8/26/19 2:09 PM, enh wrote:
> On Mon, Aug 26, 2019 at 11:54 AM Rob Landley <rob at landley.net> wrote:
>>
>> On 8/26/19 11:09 AM, enh wrote:
>>> i did wonder what a rob landley pdf would look like :-)
>>
>> Hey, http://landley.net/aboriginal/downloads/presentation.pdf was created with
>> apple keynote and everything. :P
>>
>> I've _done_ fancy slides, there's just never seemed to be much point? The talks
>> with slides got _less_ engagement.
>>
>> I usually do an outline ala https://landley.net/talks/ohio-2013.txt and this
>> time it was halfway between "slide blocks" and outline blocks, didn't decide
>> which way to go until too late. :P
>>
>>> one entry missing from the timeline is whoever came up to me in the
>>> corridor at the Plumbers conference in Duesseldorf and said "the work
>>> you're doing to switch to some of the BSD tools for /system/bin is all
>>> very nice, but why don't you just use toybox?" to which my response
>>> was "what's toybox?". (being in the right time at the right place is
>>> usually 90% of the battle, and most histories of most things pretend
>>> that they were bound to happen anyway.)
>>
>> I know, I ran out of time putting it together.
>>
>> I remember you mentioning it in the ADB thing. Alas I dunno how to link to a
>> specific _time_ in an MP3 from a URL. (I also wanted to dig up the android bug
>> thread about adding toybox that we first communicated through, but ran out of time.)
>>
>>> the most important factor after chance from my side was that -- unlike
>>> most OSS at the time, especially GPL stuff because of the kind of
>>> person that tends to attract -- was that when i sounded you out you
>>> didn't say "fuck Android, why don't they switch to the GPL and use
>>> glibc?", you said (and i paraphrase and maybe project at the same
>>> time) "i might not agree with all the choices, but you can't change
>>> the past, and you can't argue with 2 billion installs". which might
>>> seem obvious, but you would not believe the trouble we've had with
>>> upstreaming patches.
>>
>> Indeed.
>>
>>> -*-
>>>
>>> unrelated, fwiw since you mention the busybox subdirectory mess, i
>>> find toybox's posix vs other vs lsb etc to just be a smaller version
>>> of the same "where did you hide it, and why should i care?" busybox
>>> problem. (and the cause of my xargs -o patch, which i'll now go and
>>> ping you on...)
>>
>> If you want to throw 'em all into a single directory, I don't particularly mind.
>> I just thought it would be overwhelming.
> 
> to whom?

Good point.

>> The infrastructure doesn't care, it's a flat command namespace anyway.
>>
>>> personally i could see a stronger argument for a split along the lines
>>> of posix vs linux vs android vs (theoretically at least) bsd (and/or
>>> darwin)... "where is this likely to work?" seems to have _some_ value.
>>> certainly more than "where did this come from?".
>>
>> Except then the same commands show up in multiple categories, and menuconfig
>> isn't really set up to do that. (Plus it's hard to know when you're done. Start
>> at the beginning, each thing occurs once, stop at the end.)
> 
> well, i meant _exclusively_. but, yeah, you're right that we'd need at
> least one more directory for "not posix, but also portable".

I miss when posix was actually sorta functional. Before they yanked tar because
Jorg Schilling told them Solaris's Pax was so clearly the future and what the
Linux people were doing was obviously _wrong_ and they'd come around if posix
said so.

Spoiler: nope. And Oracle's a Linux distro vendor now. I just typed "solaris"
into google and the first five hits were about three films made in 1972, 1976,
and 2002. The oracle product is the sixth hit.

>>> ("lsb" vs "other"
>>> being the most annoying, because who knows and who cares?)
>>
>> It mattered a lot more in 2006. The FSG didn't merge with OSDL to form the Linux
>> Foundation until 2007, and they didn't really start to destroy the LSB until 5
>> years or so after that.
>>
>> But yeah, that division is no longer relevant. I can remove it if you like.
> 
> sgtm.
> 
>>> but i still
>>> think putting that in the "Config.in" stuff at the start of the file
>>> makes more sense: "depends on <some linux feature/syscall>". (and this
>>> is only for the "inherent" stuff like dmesg. not the "accidental"
>>> stuff like "the way we happen to have implemented something, which we
>>> can hide in portability.[ch]".)
>>
>> Except almost all that stuff is one command at a time. Is "eject" still
>> relevant? What permissions does "lsusb" need to run?
>>
>> Hmmm... Which _might_ be relevant is:
>>
>> $ grep TOYFLAG_NEEDROOT toys/*/*.c | sed 's/.*TOY(\([^,]*\),.*/\1/' | xargs
>> freeramdisk insmod login reboot halt poweroff rmmod swapoff swapon vconfig crond
>> groupadd addgroup groupdel delgroup openvt deallocvt sulogin useradd adduser
>> userdel deluser
>> $ grep TOYFLAG_STAYROOT toys/*/*.c | sed 's/.*TOY(\([^,]*\),.*/\1/' | xargs
>> mount nfsmount passwd umount taskset bootchartd crontab syslogd traceroute
>> traceroute6 iotop
>>
>> Which is more or less the historical /bin vs /sbin split I believe? (Haven't
>> checked those annotations...)
> 
> but like you say, that's historical too. (and if you do want that
> subset, you can still grep.)
> 
>> But again, if we're going to fiddle with what's there, what's bad about a flat
>> namespace?
> 
> yeah, that's where i always end up whenever i'm thinking about this. i
> can think of several advantages and no real disadvantage.
> 
>> (Probably a conversation to have on the list rather than private email.
> 
> if you want to announce the erection of a new bikeshed... :-)

Oh I'd just do it, I just prefer to keep design discussions out in the open for
historical reasons. :)

Do you mind if I cc: this reply to the list?

>> I lean
>> towards "dump it all in a single flat namespace", modulo pending would still be
>> a subdir, and global options. So maybe 3 subdirs total: commands, pending, options.)
> 
> what goes in options in that world?

The current "toybox global settings" menu.

>> Rob

Rob



More information about the Toybox mailing list