[Toybox] grep and empty regexes

enh enh at google.com
Mon Jul 29 22:22:50 PDT 2019


On Mon, Jul 29, 2019 at 6:28 PM Rob Landley <rob at landley.net> wrote:
>
> On 7/28/19 7:59 PM, Ed Maste wrote:
> > On Mon, 29 Jul 2019 at 07:19, Rob Landley <rob at landley.net> wrote:
> >>
> >> Your timing is impeccable. Guess what the gmail spurious delivery failure due to
> >> spam false positive du jour was? (Other than me. I get unsubscribed to my own
> >> list and have to send a "confirm" email twice a week. Yes, I need to move off
> >> gmail, but I'm kinda busy...)
> >
> > You and me both :(
>
> The other _fun_ part is for the past few weeks it's been giving me these popups
> (screenshot attached) and every time it does the "downloading message 137/408"
> transaction aborts with an error and gmail _deletes_ the rest of those messages
> off the server. (I.E. the couple hundred it didn't download: gone.)
>
> I'm trying to work around it by disconnecting from the network before dismissing
> the popup, and seeing if _that_ variant of abort doesn't  delete them? (I've
> watched it delete them via the web interface, but can't watch via the web
> interface when I umplug from the net without a second machine...)
>
> > One caveat, on FreeBSD by default we still have:
> >
> > % grep --version
> > grep (GNU grep) 2.5.1-FreeBSD
> >
> > Replacing it with BSD grep is in progress, and it's still under
> > somewhat active development. There's also a WITH_GNU_GREP_COMPAT
> > build-time option that links against libgnuregex. So there are lots of
> > ways the BSD libc regcomp won't be used in whatever is installed as
> > /usr/bin/grep.
>
> None of this is gnu, it's Linux. The Linux development community has just been
> sending patches to grep's "upstream" for years because that's what you do, but
> most aren't members of the religion. (Ulrich Drepper was quite vocal that his
> glibc fork had nothing to do with the gnu project, see the "And now for some not
> so nice things" P.S. at the end of
> http://sources.redhat.com/ml/libc-announce/2001/msg00000.html . Yeah yeah,
> sharks vs lawyers, who do you root for. I should collect a proper writeup of the
> EGCS fork that's easy to point to...)
>
> That said, if the Linux behavior is what even BSD has been using for years, then
> that's what we need to implement.

it's not the behavior that macOS has been using, and that's the only
BSD with any significant user base.

even amongst the "real" BSDs, the story is a bit tangled, as usual...
from my checked out copy of the sources, OpenBSD seems to only have a
BSD grep. NetBSD seems to have both, but i don't see the same makefile
conditionals as FreeBSD for choosing which one to use, so i don't know
how NetBSD chooses...

> There IS a standard, it's just not properly
> documented and because the standards bodies are asleep at the switch.

the latter part is definitely true, but i think "the standard" is
actually some kind of intersection of "what we can get away with on
the platforms we build on", which is _mostly_ just Linux these days,
but often macOS too. my motivation for building toybox on macOS is to
finally have some consistency between the two.

> (LSB got
> sucked into the Linux Foundation's ravenous maw, Posix won't be interesting
> again until Jorg Schilling dies... Once upon a time "the de-facto standard" was
> whatever chunks of BSD and System V behavior things like coherent or xenix
> needed to implement to keep the userbase happy. Linux has a bunch of Sun
> heritage because Linus implemented his intial system call set from his
> university library copy of their printed manuals, and it has a bunch of minix
> heritage because it was implemented under that and inherited most of its
> developer base. Long ago we had the "all the world's a VAX" stage. The existence
> of de-facto standards is nothing new.
>
> I'd _like_ to get Android to the point where it _becomes_ a new de facto
> standard, in that it's the development environment of choice* and what it does
> is what most people do, but it's not there yet and it's one of those "nobody
> will believe it's worth doing until it happens, then it's retroactively
> inevitable and of course everybody always knew it would happen". Sigh...
>
> Rob
>
> * Because Android's got like 3 billion seats already. It's the _deployed_
> environment of choice, and if it _can_ be a development environment then its
> users can be developers. Apple's goal of a read-only future with a giant captive
> audience paying to passively consume content forever (and what content creation
> happens requires up-front payment to apple, an ongoing royalty payment to apple,
> and apple's approval for it to ever be distributed) is disgusting. Android can
> counter that by being capable of authoring content out of the box, up to and
> including rebuilding and improving the OS itself as a bog standard capability of
> each instance of the thing. If we can't get a fully open environment universally
> deployed, we can open the one we've _got_ as much as we can, and give it as many
> content creation capabilities as we can. I can't make that happen myself, but I
> can reduce the gap between reality and where I want to be.



More information about the Toybox mailing list