<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Mar 24, 2024 at 12:45 AM Rob Landley <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 3/22/24 10:24, enh wrote:<br>
> On Thu, Mar 21, 2024 at 8:45 PM Rob Landley <<a href="mailto:rob@landley.net" target="_blank">rob@landley.net</a>> wrote:<br>
>> Anyway, toys/android basically meant (to me), "commands that come from and are<br>
>> maintained by Elliott which I can't even test because they don't apply to a<br>
>> vanilla linux system that isn't running the full android environment". Although<br>
>> that's a personally idiosyncratic definition because I lumped selinux in with<br>
>> that;<br>
> <br>
> (heh. you beat me to it :-) )<br>
<br>
If the new kconfig greyed out unavailable entries and had a status line saying<br>
"depends on TOYBOX_ON_ANDROID" or similar when you cursored over a greyed out<br>
entry...<br></blockquote><div><br></div><div>ah, as the kind of lunatic who only ever edits these files by hand with vi, i'd actually just assumed that was kind of the whole point of the _existing_ kconfig stuff?</div><div><br></div><div>(to be fair,  i did launch it once, but saw it was a ridiculously deeply nested ui [and not expanded by default?], and thought "i don't understand the purpose of this", couldn't see how to search, and immediately went back to editing by hand. at least that way i only need to know how to use my editor, which i need to know regardless :-) )</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
There _is_ a way to collapse everything together into one directory and make it<br>
manage-ish-able. But there are currently 52 command files in pending, and "ip.c"<br>
alone is 6 commands and 3000 lines of "we already have route and ifconfig and<br>
iptables and so on as separate commands, why did they do it again?"<br>
<br>
>> It's been the status quo for a dozen years now (commit 3a9241add947 in 2012) and<br>
>> moving everything AGAIN would have costs, so I'd want a reason and assurance<br>
>> that we're not going to change our minds again.<br>
> <br>
> for me the holy grail is "tab complete works and i don't have to think<br>
> about arbitrary partitions".<br>
<br>
It's a good point.<br>
<br>
> i think "not yet default 'y'" is pretty<br>
> defensible (though the reason we're having this discussion is because<br>
> people _don't_ read "pending" as "danger, keep out!"), but the rest<br>
> seem so arbitrary.<br>
<br>
I'd like there to not BE "danger, keep out" in the tree, but a certain large<br>
korean company wanted their contributions checked in, I fell behind, and it<br>
snowballed from there.<br>
<br>
>> Collapsing the directories<br>
>> together when the last command is promoted (or deleted) out of pending might<br>
>> make sense, figuring out what to do about example/ (trusting to the demo_ prefix<br>
>> to annotate the example commands is nice, but hello.c hostid.c logpath.c and<br>
>> skeleton.c would need... something).<br>
> <br>
> no, i think example/ is defensible too. (i'd argue you're only ever<br>
> going to look in there if you have a _reason_ to. or you've done a<br>
> `grep -r` for something you're changing/checking all references to.<br>
> the reason i completely forgot about example/ is that it never causes<br>
> me the "where the fuck is _mount_?!" annoyance :-) )<br>
<br>
Right now everything is at the same level. Having files at two different levels<br>
is not a simplification.<br>
<br>
Designing a way to have toys/*.c with no subdirectories and make it manageable<br>
seems a reasonable goal, if tricky to get to. Having toys/*.c _and toys/*/*.c<br>
does not smell like an improvement?<br>
<br>
We've got: android  example  lsb  net  other  pending  posix<br>
<br>
Pending needs everything cleaned up and prompted or deleted. Posix can be a<br>
defconfig file. Example can be commands that "default n". Android isn't<br>
necessary if a kconfig replacement greys things out instead of hiding them and<br>
displays WHY they're greyed out when you cursor over them (and the rewrite is<br>
needed to address pull request 332). Other, net, and lsb aren't sufficient<br>
distinction to persist in the absence of other directories.<br>
<br>
And that's all of them, I think?<br>
<br>
If we really wanted to rush this, I could make a TOYBOX_UNFINISHED symbol that<br>
the pending stuff could depend on, and then the blocker is the kconfig<br>
replacement...<br></blockquote><div><br></div><div>no, i've been cursing the broken tab-complete for -- wow, almost a decade now! -- so i think i can survive :-)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Not THIS release though. Working on release notes! (And lowering my standards on<br>
the todo list.)<br></blockquote><div><br></div><div>indeed... something that benefits the handful of folks working on toybox isn't worth much compared to something that benefits the users!</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Rob<br>
</blockquote></div></div>