Re: golang deps (rpms v/s bundled)

2015-02-03 Thread Lokesh Mandvekar
On Mon, Jan 26, 2015 at 10:09:04AM -0600, Lokesh Mandvekar wrote:
 On Mon, Jan 26, 2015 at 09:49:51AM -0600, Lokesh Mandvekar wrote:
  On Mon, Jan 26, 2015 at 01:29:34PM +0400, Peter Lemenkov wrote:
   2015-01-26 3:17 GMT+03:00 Lokesh Mandvekar l...@fedoraproject.org:
Hi all,
   
I propose to prefer using vendored/bundled golang deps and use rpm 
dependencies only
as a last resort for golang packages.
   
   This contradicts to the preferred Fedora practice and even if we agree
   on that, this should be elevated to FESCo.
  
  Ticket created: https://fedorahosted.org/fesco/ticket/1395
  
  Please modify/correct/enhance if need be.
 
 FPC ticket: https://fedorahosted.org/fpc/ticket/496

Alright, updates continuing on the original golang packaging ticket:
https://fedorahosted.org/fpc/ticket/382#comment:25

Feel free to dive in if you like.
-- 
Lokesh
Freenode, OFTC: lsm5
GitHub: @lsm5
GPG: 0xC7C3A0DD


pgpqhOvzmQ0mh.pgp
Description: PGP signature
___
golang mailing list
golang@lists.fedoraproject.org
https://lists.fedoraproject.org/mailman/listinfo/golang


Re: golang deps (rpms v/s bundled)

2015-01-26 Thread Jan Chaloupka
Packaging of all dependencies is not an ultimate weapon. Some packages 
already introduce cyclic dependencies. From that reason, some packages 
no longer [Build]Requires all dependencies. As almost all of them (~95%) 
are source codes, we don't have to take care of situations when packages 
A (e.g. kubernetes) provides binaries and devel sources in two separate 
builds and buildrequires on a package that requires kubernetes devel 
subpackage. Some repos already suffer these deformations but it is still 
possible to work around this by deleting some BuildRequires/Requires and 
not running go test. But sooner or later it will get to a point when 
there are two packages A and B which BuildRequires each other and both 
are building from its source codes. Another case is where two packages 
uses different commits of source codes from the same package. Here we 
blindly suppose a back-compatibility. But when unnamed someone decides 
to rename import paths, it does not have to be so true as some repos 
does not change to the new import path prefix. Or moving 
code.google.com/p/ ... repos into github or to a new 
https://code.googlesource.com/PROJECT. So using bundled source codes 
saves us a lot of trouble (and packaging time).


Definitely we need a limitation on what is still suitable to package and 
what is not.


Jan

On 01/26/2015 03:38 AM, Vincent Batts wrote:
I love bundling, though this is all in the light of ideal upstream 
situations. Active and making updates. The biggest drawback will be 
when/if upstream lags and becomes out of sync of security updates of 
bundled source. Then the risks are flying under the radar. Otherwisr, 
I am in huge support of working towards what works best and moving the 
golang packaging guidelines forward.



 Original message 
From: Lokesh Mandvekar l...@fedoraproject.org
Date: 01/25/2015 19:17 (GMT-05:00)
To: golang@lists.fedoraproject.org
Cc: 
epa...@fedoraproject.org,jchal...@fedoraproject.org,vba...@fedoraproject.org,pe...@fedoraproject.org,maxamill...@fedoraproject.org 


Subject: golang deps (rpms v/s bundled)


Hi all,

I propose to prefer using vendored/bundled golang deps and use rpm 
dependencies only

as a last resort for golang packages.

Short story long: quite a few golang packages like docker, kubernetes 
and (hopefully soon)

rocket provide a dir like 'vendor/' or 'Godeps/' which includes the golang
dependencies used, thus making rpm dependencies redundant IMO. Using the
bundled sources makes building packages a lot more convenient than 
depending

on rpms.

I'm aware that the dependencies are different upstreams but since 
those are

bundled along with the main tool, perhaps we can relax that restriction.

As most of you may have already experienced, golang deps are a huge 
PITA to
update/use in docker/kube though props to jchaloup on making golang 
packaging very easy:

https://github.com/ingvagabund/GolangPackageGenerator

All that said, we could still continue to package golang repos in case
someone needs it for something.

I was hoping we could yay or nay on this and
also perhaps modify the golang packaging draft if everyone agrees.
https://fedoraproject.org/wiki/PackagingDrafts/Go#Dependencies

Comments?

PS: I'm doing this already for daily rebuilds of docker master branch on
fedora rawhide starting today.
--
Lokesh
Freenode, OFTC: lsm5
GPG: 0xC7C3A0DD
___
golang mailing list
golang@lists.fedoraproject.org
https://lists.fedoraproject.org/mailman/listinfo/golang


Re: golang deps (rpms v/s bundled)

2015-01-26 Thread Peter Lemenkov
2015-01-26 3:17 GMT+03:00 Lokesh Mandvekar l...@fedoraproject.org:
 Hi all,

 I propose to prefer using vendored/bundled golang deps and use rpm 
 dependencies only
 as a last resort for golang packages.

This contradicts to the preferred Fedora practice and even if we agree
on that, this should be elevated to FESCo.

I have a mixed feeling over this - although this indeed could simplify
our life, I think we're opening a can of worms.


-- 
With best regards, Peter Lemenkov.
___
golang mailing list
golang@lists.fedoraproject.org
https://lists.fedoraproject.org/mailman/listinfo/golang


golang deps (rpms v/s bundled)

2015-01-25 Thread Lokesh Mandvekar
Hi all,

I propose to prefer using vendored/bundled golang deps and use rpm dependencies 
only
as a last resort for golang packages.

Short story long: quite a few golang packages like docker, kubernetes and 
(hopefully soon)
rocket provide a dir like 'vendor/' or 'Godeps/' which includes the golang
dependencies used, thus making rpm dependencies redundant IMO. Using the
bundled sources makes building packages a lot more convenient than depending
on rpms.

I'm aware that the dependencies are different upstreams but since those are
bundled along with the main tool, perhaps we can relax that restriction.

As most of you may have already experienced, golang deps are a huge PITA to
update/use in docker/kube though props to jchaloup on making golang packaging 
very easy:
https://github.com/ingvagabund/GolangPackageGenerator

All that said, we could still continue to package golang repos in case
someone needs it for something.

I was hoping we could yay or nay on this and
also perhaps modify the golang packaging draft if everyone agrees.
https://fedoraproject.org/wiki/PackagingDrafts/Go#Dependencies

Comments?

PS: I'm doing this already for daily rebuilds of docker master branch on
fedora rawhide starting today.
-- 
Lokesh
Freenode, OFTC: lsm5
GPG: 0xC7C3A0DD


pgp_mwpnIxcrr.pgp
Description: PGP signature
___
golang mailing list
golang@lists.fedoraproject.org
https://lists.fedoraproject.org/mailman/listinfo/golang


RE: golang deps (rpms v/s bundled)

2015-01-25 Thread Vincent Batts
I love bundling, though this is all in the light of ideal upstream situations. Active and making updates. The biggest drawback will be when/if upstream lags and becomes out of sync of security updates of bundled source. Then the risks are flying under the radar. Otherwisr, I am in huge support of working towards what works best and moving the golang packaging guidelines forward. Original message From: Lokesh Mandvekar l...@fedoraproject.org Date: 01/25/2015  19:17  (GMT-05:00) To: golang@lists.fedoraproject.org Cc: epa...@fedoraproject.org,jchal...@fedoraproject.org,vba...@fedoraproject.org,pe...@fedoraproject.org,maxamill...@fedoraproject.org Subject: golang deps (rpms v/s bundled)  Hi all,I propose to prefer using vendored/bundled golang deps and use rpm dependencies onlyas a last resort for golang packages.Short story long: quite a few golang packages like docker, kubernetes and (hopefully soon)rocket provide a dir like 'vendor/' or 'Godeps/' which includes the golangdependencies used, thus making rpm dependencies redundant IMO. Using thebundled sources makes building packages a lot more convenient than dependingon rpms.I'm aware that the dependencies are different upstreams but since those arebundled along with the main tool, perhaps we can relax that restriction.As most of you may have already experienced, golang deps are a huge PITA toupdate/use in docker/kube though props to jchaloup on making golang packaging very easy:https://github.com/ingvagabund/GolangPackageGeneratorAll that said, we could still continue to package golang repos in casesomeone needs it for something.I was hoping we could yay or nay on this andalso perhaps modify the golang packaging draft if everyone agrees.https://fedoraproject.org/wiki/PackagingDrafts/Go#DependenciesComments?PS: I'm doing this already for daily rebuilds of docker master branch onfedora rawhide starting today.-- LokeshFreenode, OFTC: lsm5GPG: 0xC7C3A0DD


smime.p7s
Description: S/MIME Cryptographic Signature
___
golang mailing list
golang@lists.fedoraproject.org
https://lists.fedoraproject.org/mailman/listinfo/golang