Re: Translating Go modules buildrequires in rpm syntax

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






----- Original Message -----
> From: "Nicolas Mailhot" <nicolas.mailhot@xxxxxxxxxxx>
> To: packaging@xxxxxxxxxxxxxxxxxxxxxxx
> 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 -- packaging@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to packaging-leave@xxxxxxxxxxxxxxxxxxxxxxx
> 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/packaging@xxxxxxxxxxxxxxxxxxxxxxx
> 
_______________________________________________
packaging mailing list -- packaging@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to packaging-leave@xxxxxxxxxxxxxxxxxxxxxxx
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/packaging@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux