[Toybox] cleaning out deprecated code

Rob Landley rob at landley.net
Thu Aug 22 15:11:35 PDT 2019



On 8/22/19 2:49 PM, enh wrote:
>> (I'd love to say
>> yes, but how far back does the NDK support?
> 
> currently API level 16, Jelly Bean. that's the oldest release that has
> full PIC/PIE support, so supporting older than that is a large cost
> for basically zero market share.

Released July 9 2012, anything before then would be older than 7 years anyway.

>> And if we DO build new toybox for
>> older android devices, I need to add some regression test targets and set up a
>> build thingy. I have NO clue how to do the magic selinux annotation outside of
>> AOSP. I've never actually rooted an android device; downloading a random third
>> party binary to install a rootkit _for_ me always seems... I haven't even
>> installed the steam dpkg on my laptop because the URL to the binary on their
>> servers ISN'T HTTPS. Grrr...)
>>
>> Anyway, Oreo shipped 2 years (as of yesterday), pie is out... how long should
>> this code stay there?
> 
> up to you. i certainly wouldn't notice if it was removed today. i
> don't know how many random folks are building toybox prebuilts to run
> on old devices.

I'd like to make it a better option than installing a busybox binary on those
old boxes. (Or at least an alternative.)

> if your question is actually about in numbers, O is still < half of
> the real world (and Q isn't even out yet, even if i put my pencil down
> and moved on to R a while ago):
> https://developer.android.com/about/dashboards

Ooh, cool! So roughly:

J=3%, K=7%, L=14%, M=17%, N=19%, O=28%, and P=10%.

Meaning supporting L would give us 90% of the market, K would give us 97%. Going
father back than K probably isn't worth it? K shipped Oct 31 2013, coming on on
6 years ago.

On the other hand, an 80/20 rule would be either L or M depending on how you
want to squint. M is where toybox was introduced, being able to backport current
toybox at least _that_ far is the conservative "yes we should probably
definitely do _that_ much"...

So, a horizon at either K or M. Which says don't remove it _yet_...

(There's also the question of when 32 bit went away...)

> (I'm thinking of walking through main() as part of my talk in 2 hours, and saw
> this and went "Is that still really needed? If so, how long?")

Still an hour to go, my laptop is on Austin time and the conference is in San
Diego...

> maybe i should build a static toybox binary as part of the regular
> build, though? i could make it available as one of the downloadable
> artifacts (https://source.android.com/setup/build/dashboard) and you
> could update the readme to point folks looking for an Android binary
> there (with a suitable "buyer beware --- not tested" warning).

I'm all for it, and I can even do some testing.

I should try building for the old NDK targets, the problem is the NDK _itself_
didn't work right until recently-ish. If I tell the NDK to gimme the jelly bean
API level, how badly will the build break? (How much of current JDK changes fix
old API levels building with newer toolchains?)

I keep opening new cans of worms...

>> (Android S or so? Given that N
>> wasn't "Nutella" I'm assuming S won't be Skittles. Kit-kat was a one-off then.
>> I'm guessing the lawyers were Unhappy. 7 years from Not-Nutella would be August
>> 21, 2024, which seems a bit long even to me.)
> 
> K and O (Oreo) were the only commercial tie-ins. it was announced
> today that "Q" will be publicly known as "Android 10" with no
> corresponding dessert name. but engineering will still call successive
> releases R, S, etc (or API level 31, 32, etc, though that's a bit
> riskier because -- as you can see from the fact that we're already >26
> -- we've sometimes burned more than one API level per dessert).

Quetzecoatl then. (Rewatching Kobiyashi Dragon Maid.)

>> (P.S. Yeah, I meant to get a release out before my talk. Didn't happen. Try
>> again this weekend...)
> 
> don't forget my couple of outstanding patches :-)

Indeed. Part of the reason it didn't happen, still too many loose ends to die off.

Rob



More information about the Toybox mailing list