----- 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