From owner-freebsd-ports@freebsd.org Wed Aug 15 12:46:28 2018 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E4BE31083163 for ; Wed, 15 Aug 2018 12:46:27 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from smtp.infracaninophile.co.uk (smtp.infracaninophile.co.uk [IPv6:2001:8b0:151:1:c4ea:bd49:619b:6cb3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 528608A610 for ; Wed, 15 Aug 2018 12:46:27 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from dhcp-10-240-104-122.cp.wireless.private.cam.ac.uk (global-5-14.nat-1.net.cam.ac.uk [131.111.5.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: m.seaman@infracaninophile.co.uk) by smtp.infracaninophile.co.uk (Postfix) with ESMTPSA id EA41D1946 for ; Wed, 15 Aug 2018 12:46:17 +0000 (UTC) Authentication-Results: smtp.infracaninophile.co.uk; dmarc=none (p=none dis=none) header.from=FreeBSD.org Authentication-Results: smtp.infracaninophile.co.uk/EA41D1946; dkim=none; dkim-atps=neutral Subject: Re: getting PKGNAME from CONFLICTS To: freebsd-ports@freebsd.org References: <286CAC11-E9C6-42C4-8D41-97F51EFF1596@yahoo.com> <9823D065-3FCC-4D69-9EB4-9C4CD01C7778@langille.org> From: Matthew Seaman Openpgp: preference=signencrypt Autocrypt: addr=matthew@FreeBSD.org; prefer-encrypt=mutual; keydata= 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 Message-ID: <16f81513-5324-001f-d1c7-45536835ef15@FreeBSD.org> Date: Wed, 15 Aug 2018 13:46:16 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <9823D065-3FCC-4D69-9EB4-9C4CD01C7778@langille.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="f7zgM0mPihkX6dCVYK5fGRr84vWbpY7fl" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Aug 2018 12:46:28 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --f7zgM0mPihkX6dCVYK5fGRr84vWbpY7fl Content-Type: multipart/mixed; boundary="HrZPaAJqDcl7aA0isGXIZWqxLBv2jqz5H"; protected-headers="v1" From: Matthew Seaman To: freebsd-ports@freebsd.org Message-ID: <16f81513-5324-001f-d1c7-45536835ef15@FreeBSD.org> Subject: Re: getting PKGNAME from CONFLICTS References: <286CAC11-E9C6-42C4-8D41-97F51EFF1596@yahoo.com> <9823D065-3FCC-4D69-9EB4-9C4CD01C7778@langille.org> In-Reply-To: <9823D065-3FCC-4D69-9EB4-9C4CD01C7778@langille.org> --HrZPaAJqDcl7aA0isGXIZWqxLBv2jqz5H Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: quoted-printable On 15/08/2018 00:35, Dan Langille wrote: >> On Aug 14, 2018, at 2:55 PM, Mark Millard via freebsd-ports 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 remov= e 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-"). >=20 > Agreed. The hard part is identifying the regex and deleting it from co= nsideration. >=20 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 --HrZPaAJqDcl7aA0isGXIZWqxLBv2jqz5H-- --f7zgM0mPihkX6dCVYK5fGRr84vWbpY7fl Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEGfFU7L8RLlBUTj8wAFE/EOCp5OcFAlt0IJlfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDE5 RjE1NEVDQkYxMTJFNTA1NDRFM0YzMDAwNTEzRjEwRTBBOUU0RTcACgkQAFE/EOCp 5OeZeQ//beJoobaLTVpYu7a4xrYMgbs50ylJKhzwPv+AADTEc+6wupK5VXrhuEiP aIFuboT3DfbHkbt2CWiYkdsr5x1yfCh+KSlX6hj1fGdSVao9PNXb/NoI0Hy8ecGL Z52C1VbO1o50N7mQ2HhaxG+4l2dUOEhZmWUjF3N+o7EjIiJo9/XDkwIaoqBO3uhZ K/WbjYxJFRUa8VY6bsxsy2KI2JoJvmk57xzk4w0M10UB1lVxpzIhqC3FPl8ofDaK eLhvDFEdDUtEH18Qguo70t/VeKMgIuoDZeVr9hijyltwMQkZ47ZBs/xT+Iv7n2ES 6yI4gW+PRB7874I3CJSM8L3fjaW1CGw8BSPcV5wZrihUo9Q0YC5WBR7b5ETQdl/B 9hYwCKONdDxgcpbHk5BBhMZR5T4iHTud16d+WujHGaY45zmlK7gFM3IoUOWQKWDz Hljhl/zKM3Tlr1a4Aqh3M19wqy6OESBhLlgMZTKH6a4Yuqj4FGhZDfNB1jWeoxwz wFsCYjcOBfJxazGIz05ix1SLM3sbuocFbVxlIBIE68k1lX5RI1B+95totIAFqYPM wsMoTMLkNi8XA3+a3sClb/OvI9l1o35O9uHYMFj/FDKf3Bv75P0TFFy/IeBw19aL IhGjGerxiYEdFvcSQ/Mb36mYglHSMzq4TzDPv5SDq9N1uwX04Ps= =IR4G -----END PGP SIGNATURE----- --f7zgM0mPihkX6dCVYK5fGRr84vWbpY7fl--