----- Original Message -----
> From: "Nicolas Mailhot" <nicolas.mail...@laposte.net>
> To: packag...@lists.fedoraproject.org
> Sent: Friday, March 29, 2019 8:33:39 PM
> Subject: [Fedora-packaging] Translating Go modules buildrequires in rpm syntax
>
> Hi,
>
> For Go modules, that will become the default upstream in August, Google
> invented holed BuildRequires version ranges:
> – anything starting with version
> – except a list of specific version exclusions (not exclusion ranges,
> specific versions)
>
> Basically upstreams are allowed to declare incompatible versions, but
> Google would really like them to keep ascendent API compatibility
> (and Google requires module renaming on major version changes, so there
> is no upper limit to the API compatibility)
>
As I perceive this might be perceived by you as my personal attack I want to be
clear that this is just my take on it and my technical opinion, so please keep
this in mind. I would like to avoid any unnecessary misunderstandings and
conflicts.
But do we really need to recreate everything that upstream put in to the
constrains in specs? I think that we are carrying curated set of the packages
so this is IMHO not really necessary(at least not in all cases, just ones that
crept in to our package base and we should avoid them at all costs).
IMO if there are "holes" in the versions we should work with the upstreams to
mitigate(fix) them and I believe they will be probably for some
past/intermittent versions(do you have actual cases to show as examples?) and
we can pretty easily handle them preventively with conflicts statements and
proper comments accompanying them like "Based on constrain in the module ...
caused by ...". Or is this something that is not possible/feasible?
Do you have any cases where we will have to carry them in 1:1 representation
with current package set?
JC
PS: CC'ing wider Fedora's Go community
> Is the correct way to represent those in rpm:
>
> BuildRequires: ((golang-module(github.com/stretchr/testify) >= 1.3.0) and
> ((golang-module(github.com/stretchr/testify) <
> 1.3.2~0.20180906233101.161cd47e91fd) or
> (golang-module(github.com/stretchr/testify) >
> 1.3.2~0.20180906233101.161cd47e91fd)) and
> ((golang-module(github.com/stretchr/testify) < 1.3.2~1.pre1) or
> (golang-module(github.com/stretchr/testify) > 1.3.2~1.pre1)) and
> ((golang-module(github.com/stretchr/testify) <
> 1.3.2~1.pre1.0.20180628173108.788fd7840127) or
> (golang-module(github.com/stretchr/testify) >
> 1.3.2~1.pre1.0.20180628173108.788fd7840127)))
>
> or am I missing something obvious?
>
> Best regards,
>
> --
> Nicolas Mailhot
> _______________________________________________
> packaging mailing list -- packag...@lists.fedoraproject.org
> To unsubscribe send an email to packaging-le...@lists.fedoraproject.org
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedoraproject.org/archives/list/packag...@lists.fedoraproject.org
>
_______________________________________________
golang mailing list -- golang@lists.fedoraproject.org
To unsubscribe send an email to golang-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/golang@lists.fedoraproject.org