Date: Sun, 13 Dec 2015 11:28:54 +0000 From: Matthew Seaman <matthew@FreeBSD.org> To: freebsd-ports@freebsd.org Subject: Re: poudriere, Go and networking Message-ID: <566D5676.1050007@FreeBSD.org> In-Reply-To: <566CFBA7.9010409@FreeBSD.org> References: <374B9F2C-11B4-44F6-9FF6-E4687ECF9CB2@gemius.com> <20151211143601.GI35480@home.opsec.eu> <566AE71B.3080201@gemius.com> <86mvthrndh.fsf@gmail.com> <566CFBA7.9010409@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --adcebMM1j1DM7JQwTxRQ4QN5OwHLuUxmD Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 13/12/2015 05:01, Steve Wills wrote: >> Perhaps you should make a tool which takes a go project as input and a= >> > FreeBSD package as output? > This is an interesting idea. It's a bit of work though and you're be > re-implementing pkg in go and chasing any changes it made. And I'm not > sure how it would integrate with ports. Not at all. Pkg is all about run-time dependencies and knows nothing at all about what it takes to build anything. That's what the ports tree is all about. As far as pkg is concerned, it doesn't matter how these go ports are compiled and how the results are divided into packages. If it makes sense to build a go program including whatever other go packages it depends on as one blob and then package up the results all together, then pkg is cool with that. The only concern is when the same dependency occurs for two different go programs (which is probably a good indication that dependency should be a separate pkg of its own.) So long as you don't generate conflicts by trying to install a file of the same name from more than one package, bundling all the dependencies in with the parent should work. Not saying that's a particularly good idea, or that installing essentially the same stuff distributed in multiple places around the filesystem is a particularly elegant concept -- clearly it isn't, but if it's a choice between 'elegant' or 'working' then working wins every time= =2E The ports requirements are a different thing however. Yes, you will need to work out how to download all the distfiles for your go program as a separate step during the 'fetch' phase. All of those disfiles will need to be checksummed and matched against the recorded distinfo in the port. That's a big deal security-wise. Note that there is a very little used 'FETCH_DEPENDS' type of dependency where you can get the ports to install whatever else you need to manage the downloading part. Cheers, Matthew --adcebMM1j1DM7JQwTxRQ4QN5OwHLuUxmD Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2 iQJ8BAEBCgBmBQJWbVZ8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkAThWEP/3ktRY9dErGH0B6P8Ry+7dZg X1ERYaqVLKeINyJSuUnT+yYsgaWZusZZuLnvzipBmen2PLs9x2jmP+lzhoYQgfKe 7KxZ9XUbGp3jhpVRT5uY0FAZ+KXaCvFndUl2DGSxOVvB/mQx0vezi+omU6SOsdle 1UkoJ07V+qTGOk2U31Hbwm12/936abut1LZzKObdX4MQMUZKV5XMd9H3KNfnrCn3 KHM1coINMh7hwspMf+Ujs9mfQ7sL+3hjOb41yk5kEDLdGOlvcY4d1PUgvdiyiSAV PwjStQZ5uU2MFlTxbyX5cO0F3BbWFUR8Vmx4VluhJuerPZiwzvNmnEyhEEqHj3tu y6Fr6BMd3pi8pEHqW539Ypi0+c8zqEDg/9R3PBUvDmSGJ2zKzHFOPIM3+Gj/f4xI R7rcPEP3s0NdGKEbIVeoFDLsnw3rsVHB7AgMu0BJXOxAequ+/AwqwgMI9e0qb3Ty 4zkta7VjLVcQtZ/KwIcDLZOPi+ua9P2Yz5RddfM2BGA+QvFIr0nUszwaYp/+v7IH SSgDnMBqIEdPbpPohSj6cAvFXF8lAFvgOoeVBgdjaBO8jSm70gXVD12j+uyJQKAg hxDZWSyfiSQQI9Kk01bgH/2BLGULompwrW+aoir2dUAMxnoncs/AtkMEQmNIwVxR FoKvpqWLy6B9iV6rOmTa =Tvov -----END PGP SIGNATURE----- --adcebMM1j1DM7JQwTxRQ4QN5OwHLuUxmD--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?566D5676.1050007>