Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1143827 > unrolled thread
| Started by | Santiago Ruano Rincón <santiagorr@riseup.net> |
|---|---|
| First post | 2023-04-12 17:10 +0200 |
| Last post | 2023-05-29 13:10 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.debian.bugs.dist
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye Santiago Ruano Rincón <santiagorr@riseup.net> - 2023-04-12 17:10 +0200
Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye Paul Gevers <elbrus@debian.org> - 2023-04-13 12:00 +0200
Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye Maxim Nikulin <m.a.nikulin@gmail.com> - 2023-04-19 12:30 +0200
Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye Paul Gevers <elbrus@debian.org> - 2023-05-28 22:00 +0200
Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye Paul Gevers <elbrus@debian.org> - 2023-05-29 12:40 +0200
Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye Paul Gevers <elbrus@debian.org> - 2023-05-29 13:10 +0200
| From | Santiago Ruano Rincón <santiagorr@riseup.net> |
|---|---|
| Date | 2023-04-12 17:10 +0200 |
| Subject | Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye |
| Message-ID | <GjKgF-1yIU-1@gated-at.bofh.it> |
[Multipart message — attachments visible in raw view] — view raw
Control: severity -1 important Hi! On Fri, 6 Jan 2023 12:31:47 +0100 =?utf-8?B?0L3QsNCx?= <nabijaczleweli@nabijaczleweli.xyz> wrote: > Hi! > > On Fri, Jan 06, 2023 at 10:52:31AM +0100, Andrej Shadura wrote: > > On Thu, 5 Jan 2023, at 21:32, наб wrote: > > > Bisecting over the upstream git, I got > > > commit 8f9cca055bc661c4c690a5f5e1ca71370d129bc3 (HEAD, refs/bisect/bad) > > > Author: Herbert Xu <herbert@gondor.apana.org.au> > > > Date: Wed Jan 19 16:37:54 2022 +1100 > > > > > > expand: Always quote caret when using fnmatch > > > > > as the first bad commit with default configuration (HAVE_FNMATCH=1). > > > > > > I /cannot/ find a set-up where configuring like Debian > > > (--disable-fnmatch --disable-lineno --disable-glob) > > > isn't broken. > > > > I’m not sure why this also affects configurations with --disable-fnmatch — from the description of it, it shouldn’t? > > Well, dash's built-in globs Just Don't Support ^. Never have. > (Defined as "current code doesn't and it blames to start-of-git".) > They're strictly POSIX, and ^ is a regular character for them. > > 8f9cca0 fixes the fact that glibc fnmatch() has a special meaning for ^ > by unconditionally escaping it (if configured for libc fnmatch) ‒ > it normalises [^0-9] to always mean [0-9^], > regardless of --with-fnmatch/--disable-fnmatch. > > > > Y'know what, I bisected the Salsa git, too, but then I consulted POSIX. > > > Apparently, this is fine. > > > > > Please for the love of god add this to the NEWS. > > > I /guarantee/ people are using '[^0-9]' to mean "not 0-9", > > > and similar constructs, even if they are well-versed in the shell language. > > > > > > This is a breaking change going from bullseye, and quite an insidious one. > > > I assume my reaction is gonna mirror others' quite well. > > > > > > /Please/ add this to the NEWS. > > > > I’m actually considering reverting that patch, as it seems a bit too late in the release cycle to introduce such a breaking change. > > I've bisected across snapshot.d.o, and the first Debian version > that exhibits this behaviour is 0.5.11+git20210903+057cd650a4ed-4: > http://snapshot.debian.org/package/dash/0.5.11%2Bgit20210903%2B057cd650a4ed-4/ > > Which, if I understand it right, has landed in sid on 2022-03-04. > Since march of last year, sid and testing have been using this; > quoth tracker.d.o: > [2022-03-07] dash 0.5.11+git20210903+057cd650a4ed-7 MIGRATED to testing (Debian testing watch) > > So it's been a good part of a year and no-one's complained > (maybe I'm the idiot what doesn't know globs are negated with !s), > from the point of view of "system compatibility", > I think this has passed the test. > > From the point of user code, a NEWS entry I'd consider sufficient, > as usual for breaking-for-compat user-observable changes. > > Reverting this now would probably have the opposite effect I am taking the liberty to increase the severity of this bug. I'd say it is serious, but I'd let the maintainer or the release team to decide on that. I am aware of at least one user hit by this. If the current behaviour would be part of bookworm, a NEWS entry would be great. Thanks, -- Santiago
[toc] | [next] | [standalone]
| From | Paul Gevers <elbrus@debian.org> |
|---|---|
| Date | 2023-04-13 12:00 +0200 |
| Message-ID | <Gk1Ud-1J4F-3@gated-at.bofh.it> |
| In reply to | #1143827 |
[Multipart message — attachments visible in raw view] — view raw
Control: clone -1 -2 Control: reassign -2 release-notes On 12-04-2023 16:57, Santiago Ruano Rincón wrote: > If the current behaviour > would be part of bookworm, a NEWS entry would be great. And a release note would be worth it too I guess. Paul
[toc] | [prev] | [next] | [standalone]
| From | Maxim Nikulin <m.a.nikulin@gmail.com> |
|---|---|
| Date | 2023-04-19 12:30 +0200 |
| Subject | Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye |
| Message-ID | <Gmdey-33FF-7@gated-at.bofh.it> |
| In reply to | #1143892 |
On Thu, 13 Apr 2023 11:48:10 +0200 Paul Gevers wrote: > On 12-04-2023 16:57, Santiago Ruano Rincón wrote: > > If the current behaviour > > would be part of bookworm, a NEWS entry would be great. > > And a release note would be worth it too I guess. Shellcheck static analyzer detects the issue with [^c] for pattern matching. I think, it may be recommended for installation https://packages.debian.org/bookworm/shellcheck or as an online tool https://www.shellcheck.net/ The warning concerning globs recommends to visit the following page: https://www.shellcheck.net/wiki/SC3026 SC3026 In POSIX sh, ^ in place of ! in glob bracket expressions is undefined.
[toc] | [prev] | [next] | [standalone]
| From | Paul Gevers <elbrus@debian.org> |
|---|---|
| Date | 2023-05-28 22:00 +0200 |
| Subject | Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye |
| Message-ID | <GAuIx-c4AL-3@gated-at.bofh.it> |
| In reply to | #1143892 |
[Multipart message — attachments visible in raw view] — view raw
Control: tags -1 pending patch Hi, On Thu, 13 Apr 2023 11:48:10 +0200 Paul Gevers <elbrus@debian.org> wrote: > On 12-04-2023 16:57, Santiago Ruano Rincón wrote: > > If the current behaviour > > would be part of bookworm, a NEWS entry would be great. > > And a release note would be worth it too I guess. Our (crafted with Andrej) proposal is here: https://salsa.debian.org/ddp-team/release-notes/-/merge_requests/181 Paul
[toc] | [prev] | [next] | [standalone]
| From | Paul Gevers <elbrus@debian.org> |
|---|---|
| Date | 2023-05-29 12:40 +0200 |
| Subject | Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye |
| Message-ID | <GAIsa-cdEb-5@gated-at.bofh.it> |
| In reply to | #1148222 |
[Multipart message — attachments visible in raw view] — view raw
Hi, On 29-05-2023 12:02, Max Nikulin wrote: > Strictly speaking, behavior of circumflex is *unspecified* in POSIX: > >> ... A bracket expression >> starting with an unquoted <circumflex> character produces unspecified >> results. Right. Maybe better to say it now matches the other implementation (dash has two implementations and they were behaving differently). Paul
[toc] | [prev] | [next] | [standalone]
| From | Paul Gevers <elbrus@debian.org> |
|---|---|
| Date | 2023-05-29 13:10 +0200 |
| Subject | Bug#1034344: Bug#1028002: dash: sid dash globs no longer allow [^...] to negate a class; upcoming breaking change from bullseye |
| Message-ID | <GAIVb-ce2V-1@gated-at.bofh.it> |
| In reply to | #1148271 |
[Multipart message — attachments visible in raw view] — view raw
Hi, On 29-05-2023 12:51, Max Nikulin wrote: > I am unaware of another dash implementation. Do you mean ash from which > dash was forked? No, I understood from Andrej that dash *internally* has two ways to do the matching. One embedded implementation, and one using system library calls. Which one is used depends on the configure options during the build. Both code paths are now made consistent (with the way dash maintainers always ment it to be). Paul
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.bugs.dist
csiph-web