[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Potential depends on libregexp-shellish-perl instead of libregexp-wildcards-perl for lintian?



Dear Olivier (and all other Lintian interested people),

sorry for the late reply. I was on holidays for two weeks and found
way less time to look through my mails than I expected.

Olivier Gayot wrote:
> As part of a main inclusion review in Ubuntu [1], we are currently assessing
> if a potential replacement of lintian's dependency on
> libregexp-wildcards-perl [2] by a dependency on libregexp-shellish-perl [3]
> would be a good thing or not.

Wasn't aware of libregexp-shellish-perl yet and had a look at its
documentation and tried a few short oneliners with it.

I'm reluctant. It is actually a good thing for lintian that it doesn't
seem to support bracket matching ("[…]"). But I fear that its "*" not
matching "/" might cause quite some issues.

> Both packages seem to provide a similar functionality

Indeed.

> but libregexp-wildcards-perl has benefited from slightly more
> support (including packaging updates and availability on salsa)
> recently.

I think you meant libregexp-shellish-perl here.

And yes, I'm aware that libregexp-wildcards-perl is not maintained by
the Debian Perl Group and hasn't seen an upload for quite a while. I
also spoke with its maintainer (Cc'ed) about this. He's very well
aware of the situation, but doesn't think that there's anything which
requires a package update currently — or at least not when I spoke
with him about it. But he assured to me that he'll update the package
if it becomes necessary. Additionally he granted myself personally an
"NMU with maintainer approval" if he doesn't react in time.

For me that sufficed.

Additionally, upstream-wise, Regexp::Shellish has seen its last
release in 2002 while Regexp::Wildcards has seen its last release in
2013. That's 20 years vs 9 years. And the upstream maintainer of
Regexp::Shellish has made his latest upload in 2004 while the upstream
maintainer of Regexp::Wildcards has made his latest upload in 2021. So
the latter one is much more likely to respond in cases of issues.

For me that's a 2:0 for Regexp::Wildcards even though it's also
well-hung.

> If we were to decide that a replacement would be good in Ubuntu, would you
> be interested in sponsoring this change in Debian too?

Not sure, but probably not. libregexp-wildcards-perl is mostly but not
only used for overrides parsing. There so far it was expected that "*"
matches anything, including "/".

Additionally with Regexp::Shellish the documentation actually differs
from what it's doing:

  Shellish  Perl RE
  ========  =======
  *         [^/]*
  ?         .

Note that "?" is documented to be expanded to "." and not "[^/]".

But:

  → perl -MRegexp::Shellish\ 'qw(:all)' -E 'say compile_shellish( "?" )'
  (?^s:\A(?:[^/])\Z)

(Which is actually more consistent with POSIX than what is documented.)

And this documentation issue seems to be in there for 20 years now.

So as far as I can see, using libregexp-shellish-perl would need some
additional regexp fiddling to fix that not-slash-matching — which I
consider to be error-prone as fixing up generated regexes has been
tried in the past and failed. And it also conflicts with the idea of
using a library to match things.

> Also, if you have any opinion on which package would do the job
> best, we would be interested to hear it so that we can make the
> right decision.

libtext-glob-perl is known to fail (see
https://bugs.debian.org/1003353) and libregexp-shellish-perl doesn't
seem to provide everything needed (or provides too much, depending on
the point of view) and doesn't look maintained at upstream anymore for
nearly two decades.

So as of now, libregexp-wildcards-perl is still my favourite even
though it doesn't look perfect either. But it at least does exactly
what we need in lintian.

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe@debian.org>, https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE

Attachment: signature.asc
Description: PGP signature


Reply to: