getting PKGNAME from CONFLICTS
Dan Langille
dan at langille.org
Wed Aug 15 15:56:35 UTC 2018
> On Aug 15, 2018, at 9:17 AM, Rodrigo Osorio <ros at bebik.net> wrote:
>
> 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 at 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.
I want to extract PKGNAME from CONFLICTS.
I was not trying to match anything with the raw CONFLICTS field.
With PKGNAME, the application can then search the database.
--
Dan Langille - BSDCan / PGCon
dan at langille.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 658 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20180815/d99ba83f/attachment.sig>
More information about the freebsd-ports
mailing list