getting PKGNAME from CONFLICTS

Adam Weinberger adamw at adamw.org
Tue Aug 14 19:13:29 UTC 2018


On Tue, Aug 14, 2018 at 11:54 AM Dan Langille <dan at langille.org> wrote:
>
> I am in the process of adding FreshPorts support for CONFLICTS[1].
>
> I reference www/p5-CGI only because it had a recent commit and it contains a CONFLICTS directive.
>
> At https://dev.freshports.org/www/p5-CGI/ you can see:
>
>     CONFLICTS: p5-CGI.pm-[1-3]*
>
> My goal is to allow a link to the search page or to the page for that port.
>
> The CONFLICTS field is a 'A list of package name patterns'[2]
>
> I interpret this to mean the values returned by make -V PKGNAME and the documentation[3] indicates this is correct.
>
> Thus, the CONFLICTS matches https://dev.freshports.org/www/p5-CGI.pm [4]
>
> To extract the PKGNAME values from the CONFLICTS I will need to remove everything after the trailing dash.
>
> Can someone do me up a regex for that please? regex is a weak point for me. Or point me into the Mk infrastructure to locate an existing solution.

Hi Dan,

I suspect that the best you can get is to make some assumptions about
what versions look like. This will catch most, but not all:

/^(.*?)-[-_\.,0-9ab]+$/
That should put PKGNAME in $1.

# Adam

-- 
Adam Weinberger
adamw at adamw.org
https://www.adamw.org


More information about the freebsd-ports mailing list