On 08/15/18 14:46, Matthew Seaman wrote:
On 15/08/2018 00:35, Dan Langille wrote:
On Aug 14, 2018, at 2:55 PM, Mark Millard via freebsd-ports
<freebsd-ports@freebsd.org> wrote:
Dan Langille dan at langille.org wrote on
Tue Aug 14 17:54:01 UTC 2018 :
. . .
At https://dev.freshports.org/www/p5-CGI/ you can see:
CONFLICTS: p5-CGI.pm-[1-3]*
. . .
To extract the PKGNAME values from the CONFLICTS I will need to remove
everything after the trailing dash.
. . .
p5-
vs.
p5-CGI.pm-
vs.
p5-CGI.pm-[1-
It looks to me like "trailing dash" probably has a
complicated definition where some "-"(s) may exist
that are to be ignored after the one of interest.
In the example I'm guessing that the middle
"-" is intended (so "p5-CGI.pm-").
Agreed. The hard part is identifying the regex and deleting it from
consideration.
If you don't mind spawning a new process, you can just do:
% pkg search -qg 'p5-CGI.pm-[1-3]*'
p5-CGI.pm-3.63_1,1
This does assume your pkg(8) is configured to use a repository with all
possible packages available. The default FreeBSD repositories are a
good choice in that regard.
Or if you already have a database table with all of the package names
and versions, then you'll presumably want to change the glob expression
into a regex match (in this case something like '^p5-CGI\.pm-[1-3].*')
Unless there's a PG extension that allows using glob(3) to match
strings? I can't see one after a pretty cursory search. (sqlite has
glob(3) support, which is what the pkg(8) command above is using under
the hood.)
Cheers,
Matthew
Hi,
Why do you uses regexp instead of evaluating them with fnmatch ?
The function is available (at least) in php, python and ruby.
Cheers,
- rodrigo
_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"