Skip site navigation (1)Skip section navigation (2)
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>