Hi Joe,
This is what semver [1] says about changes in "patch" version: > PATCH version when you make backwards-compatible bug fixes. It specifically speaks about "bug fixes". I can't see any bug which freezing all strings in generated .gemspec solves. Such change should never be part of the patch release. And what I am doing with the "gem spec" output is my business, I might just checking its checksum, or I might modify it, it doesn't really matter. And since upstream has no idea what I do with the output and for what purpose, it should do only bugfixes. I thought that is the whole idea of semver ... Vít [1] http://semver.org/ Dne 19.11.2016 v 00:06 Joe Rafaniello napsal(a): > Hi Vit, > > I'm not sure how this is something that upstream ruby/rubygems can > know. How is this a breaking change? > It's completely compatible with older versions of ruby. > > We're tying our .spec file to very specific details of a .gemspec and > hacking it with sed. > Anytime we modify upstream source code in .spec files, we are risking > breakage. > > If you have PRs on upstream repos that will help to remove this > technical debt from our spec files, please provide links > so that we can support them and work toward their acceptance. > > thanks, > Joe > > On Fri, Nov 18, 2016 at 3:38 PM, Vít Ondruch <vondr...@redhat.com > <mailto:vondr...@redhat.com>> wrote: > > Hi, > > I am slowly pushing Ruby 2.3.2 into Fedora. > > Unfortunately, part of Ruby 2.3.2 is update of RubyGems and this > update > has one annoying consequence. RubyGems developers decided, that it is > good idea to freeze all strings in generated .gemspec file. But > because > of this, there might be several rubygem- packages FTBFS. For example, > rubygem-execjs fails to build with following errror: > > > ``` > > + gem build execjs.gemspec > WARNING: See http://guides.rubygems.org/specification-reference/ > <http://guides.rubygems.org/specification-reference/> for help > ERROR: While executing gem ... (Gem::InvalidSpecificationException) > ["lib/execjs/support/jscript_runner.js", > "lib/execjs/support/json2.js"] are not files > > ``` > > > This is because there are some files removed from the package and the > previous sed: > > > ``` > > + sed -i -e '/files/ s|"lib/execjs/support/jscript_runner.js", ||' -e > '/files/ s|"lib/execjs/support/json2.js", ||' execjs.gemspec > > ``` > > Does not match/substitute anything, due to .freeze call :/ This is the > fix for rubygem-execjs: > > > ``` > > $ git diff > diff --git a/rubygem-execjs.spec b/rubygem-execjs.spec > index b2df67c..fddb541 100644 > --- a/rubygem-execjs.spec > +++ b/rubygem-execjs.spec > @@ -41,8 +41,8 @@ gem unpack %{SOURCE0} > > gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec > %patch0 -p1 > -sed -i -e '/files/ s|"lib/execjs/support/jscript_runner.js", ||' \ > - -e '/files/ s|"lib/execjs/support/json2.js", ||' > %{gem_name}.gemspec > +sed -i -e '/files/ > s|"lib/execjs/support/jscript_runner.js".freeze, ||' \ > + -e '/files/ s|"lib/execjs/support/json2.js".freeze, ||' > %{gem_name}.gemspec > > %build > # Create the gem as gem install only works on a gem file > > ``` > > > I'm sorry for any inconvenience, but suggest to complain to > Ruby/RubyGems upstream, since minor/teeny version changes should not > break anything ... > > > Vít > > _______________________________________________ > ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org > <mailto:ruby-sig@lists.fedoraproject.org> > To unsubscribe send an email to > ruby-sig-le...@lists.fedoraproject.org > <mailto:ruby-sig-le...@lists.fedoraproject.org> > > > > > _______________________________________________ > ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org > To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org
_______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org