All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Laight <David.Laight@ACULAB.COM>
To: 'Mat' <mat@parad0x.org>
Cc: "buildroot@buildroot.org" <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH 1/1] fs/common.mk: use find instead of shell glob patterns
Date: Thu, 10 Mar 2022 11:52:08 +0000	[thread overview]
Message-ID: <35a9243ae72142ac8380675e9caa0fcf@AcuMS.aculab.com> (raw)
In-Reply-To: <20220310113310.GA9122@parad0x.org>

From: Mat
> Sent: 10 March 2022 11:33
> 
> On Thu, Mar 10, 2022 at 10:45:41AM +0000, David Laight wrote:
> > From: Mathieu Mirmont
> > > Sent: 10 March 2022 10:18
> > >
> > > Different shells can have different behaviours when it comes to
> > > globbing patterns. The dash shell (/bin/sh) on Debian testing switched
> > > to a different fnmatch/glob implementation that results in this new
> > > behaviour:
> > >
> > > Using bash:
> > > $ mkdir /tmp/foo
> > > $ echo /tmp/foo/.[^.]*
> > > /tmp/foo/.[^.]*
> > >
> > > Using dash:
> > > $ mkdir /tmp/foo
> > > $ echo /tmp/foo/.[^.]*
> > > /tmp/foo/..
> >
> > That is just broken.
> > Does the [^x] pattern work at all?
> >
> > Raise a bug on 'Debian testing' hopefully they'll
> > fix it before it actually gets released anywhere.
> 
> The new behaviour of dash is very strange indeed, but also according
> to POSIX the wildcard pattern [^x] is undefined so we should not rely
> on it.

Well [^x] originally meant '^' or 'x' (the same as [x^] but then
shells started treating [^x] the same as [!x].
So I guess POSIX has allowed such shells to be conformant by
making [^x] undefined.

I'm not sure how many shells treat [^x] the same as [!x] but
enough do that people (including me) have forgotten the difference.
ash from a recent buildroot treats [^x] as [!x} but a cygwin
ash I've got doesn't.
A quick search failed to find dash.

ISTR dash is badly broken in other places, try:
$ x=aaab234; echo ${x##${x%%b*}}
b234

It is worth checking whether Debian have changed the behaviour of dash
or whether they've just changed the default root shell to dash.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-03-10 11:52 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-10 10:18 [Buildroot] [PATCH 1/1] fs/common.mk: use find instead of shell glob patterns Mathieu Mirmont via buildroot
2022-03-10 10:45 ` David Laight
2022-03-10 11:33   ` Mat via buildroot
2022-03-10 11:52     ` David Laight [this message]
2022-03-10 12:11       ` Mathieu Mirmont via buildroot
2022-03-10 13:47         ` David Laight
2022-03-10 15:42           ` Mathieu Mirmont via buildroot
2022-03-10 11:22 ` Edgar Bonet
2022-03-10 11:31   ` David Laight
2022-03-10 12:02 ` [Buildroot] [PATCH v2] fs/common.mk: fix the globing pattern Mathieu Mirmont via buildroot
2022-03-12 16:19   ` Yann E. MORIN
2022-03-12 16:52 ` [Buildroot] [PATCH 1/1] fs/common.mk: use find instead of shell glob patterns Yann E. MORIN
2022-03-19 19:01 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=35a9243ae72142ac8380675e9caa0fcf@AcuMS.aculab.com \
    --to=david.laight@aculab.com \
    --cc=buildroot@buildroot.org \
    --cc=mat@parad0x.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.