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

Reply via email to