On Tue, Aug 01, 2017 at 12:56:13PM +0200, Stéphane Glondu wrote:
> On 01/08/2017 02:00, Steve Langasek wrote:
> > I believe the provided patch is inaccurate because it doesn't handle the
> > case of a given package name appearing at the very beginning or the very end
> > of the dependency list.
> > The syntax that I have used for transition trackers in Ubuntu that works
> > reliably is:
> > /(^| )(list|of|packages)\s*([,(:]|$)/
> So you don't use the .depends ~ "foo|bar" syntax, right?
Does ben magically handle that as something other than a substring match?
If so I haven't noticed this in practice.
> > Note that ^ and $ do not work as part of a character class in the regexp
> > implementation used by ben, the last time I checked.
> >
> > Breaking this down, we have:
> >
> > - either the beginning of the dependency list or a space
> > - the package name
> > - optional whitespace
> > - either the end of the dependency list, or one of the characters [,(:]
> >
> > The three possible terminating characters are for: a bare dependency
> > followed by another ("libevent-0.2-5, [...]"); a versioned dependency
> > ("libevent-0.2-5 (>= [...])"; and a multiarch dependency
> > ("libevent-0.2-5:any").
> Isn't there also "<" (for build profiles)?
Yes, though this would only appear in build-depends and I haven't dealt with
any cases yet where that mattered. But if you're auto-generating
build-depends and depends matches with the same rules, then for
completeness, < should be in the list of characters.
Cheers,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org
Attachment:
signature.asc
Description: PGP signature