Comments (20)
I synced to upstream debian packaging for 2.1.1 - looks like some things got broken. Investigating now.
from deb-ruby2.1.
Thanks, John!
from deb-ruby2.1.
Were any other gems removed from /usr/lib/ruby/gems/2.1.0/gems? The ruby 2.1.0 package provided no gems. The ruby 2.1.1 package started including gemspecs for rake, minitest, psych, test-unit, io-console, bigdecimal, json and rdoc - it's possible (though unlikely) that the package upgrade wiped out /usr/lib/ruby/gems/2.1.0 - just trying to figure what happened.
from deb-ruby2.1.
Hmm, I only specifically looked for bundler. But it's possible that other's were removed too. I'll try to find a system that's still running the 2.1.0 packages. bundler and it's dependencies are the only globally installed gems on our servers, the rest is managed trough bundler in the apps' own bundle directories.
from deb-ruby2.1.
Can you get me a dpkg -L libruby2.1 from a system running 2.1.0 too please? I'll have to fiddling around a bit to get a listing myself now, thanks.
from deb-ruby2.1.
Here's a listing from libruby2.1-2.1.0-1bbox1~precise2:
https://gist.github.com/felixbuenemann/f32bd2a64157dd0fb880
from deb-ruby2.1.
Changes in libruby2.1-2.1.1-1bbox2~precise1:
diff -u libruby2.1-2.1.0-1bbox1~precise2-contents.txt libruby2.1-2.1.1-1bbox2~precise1-contents.txt
--- libruby2.1-2.1.0-1bbox1~precise2-contents.txt
+++ libruby2.1-2.1.1-1bbox2~precise1-contents.txt
@@ -115,6 +115,33 @@ dpkg -L libruby2.1
/usr/lib/x86_64-linux-gnu/ruby/2.1.0/rbconfig/sizeof.so
/usr/lib/x86_64-linux-gnu/ruby/2.1.0/readline.so
/usr/lib/ruby
+/usr/lib/ruby/gems
+/usr/lib/ruby/gems/2.1.0
+/usr/lib/ruby/gems/2.1.0/gems
+/usr/lib/ruby/gems/2.1.0/gems/rdoc-4.1.0
+/usr/lib/ruby/gems/2.1.0/gems/rdoc-4.1.0/bin
+/usr/lib/ruby/gems/2.1.0/gems/rdoc-4.1.0/bin/ri
+/usr/lib/ruby/gems/2.1.0/gems/rdoc-4.1.0/bin/rdoc
+/usr/lib/ruby/gems/2.1.0/gems/test-unit-2.1.1.0
+/usr/lib/ruby/gems/2.1.0/gems/test-unit-2.1.1.0/bin
+/usr/lib/ruby/gems/2.1.0/gems/test-unit-2.1.1.0/bin/testrb
+/usr/lib/ruby/gems/2.1.0/gems/rake-10.1.0
+/usr/lib/ruby/gems/2.1.0/gems/rake-10.1.0/bin
+/usr/lib/ruby/gems/2.1.0/gems/rake-10.1.0/bin/rake
+/usr/lib/ruby/gems/2.1.0/doc
+/usr/lib/ruby/gems/2.1.0/cache
+/usr/lib/ruby/gems/2.1.0/specifications
+/usr/lib/ruby/gems/2.1.0/specifications/default
+/usr/lib/ruby/gems/2.1.0/specifications/default/json-1.8.1.gemspec
+/usr/lib/ruby/gems/2.1.0/specifications/default/minitest-4.7.5.gemspec
+/usr/lib/ruby/gems/2.1.0/specifications/default/rdoc-4.1.0.gemspec
+/usr/lib/ruby/gems/2.1.0/specifications/default/test-unit-2.1.1.0.gemspec
+/usr/lib/ruby/gems/2.1.0/specifications/default/bigdecimal-1.2.4.gemspec
+/usr/lib/ruby/gems/2.1.0/specifications/default/psych-2.0.3.gemspec
+/usr/lib/ruby/gems/2.1.0/specifications/default/io-console-0.4.2.gemspec
+/usr/lib/ruby/gems/2.1.0/specifications/default/rake-10.1.0.gemspec
+/usr/lib/ruby/gems/2.1.0/build_info
+/usr/lib/ruby/gems/2.1.0/extensions
/usr/lib/ruby/vendor_ruby
/usr/lib/ruby/vendor_ruby/2.1.0
/usr/lib/ruby/2.1.0
from deb-ruby2.1.
I think the problem is that the gem home has changed from 2.1.0:
ruby2.1 -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux-gnu]
gem2.1 which bundler
/var/lib/gems/2.1.0/gems/bundler-1.5.3/lib/bundler.rb
vs. 2.1.1:
ruby2.1 -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux-gnu]
gem2.1 which bundler
/usr/lib/ruby/gems/2.1.0/gems/bundler-1.5.3/lib/bundler.rb
from deb-ruby2.1.
I've noticed another difference in 2.1.1: gem binstubs no longer get installed into /usr/local/bin but into /usr/bin.
from deb-ruby2.1.
I'm wondering how best to deal with these problems. One time I had a post-install script handle migrating the gems to the new location, but it's problematic in many ways.
Am looking into how to configure rubygems to use the two paths as sources for gems, if it's possible.
Is intalling into /usr/bin a problem though? the old binaries will still work and the new ones should take precedence (and presumably it's new Debian policy and not a bug - will investigate)
from deb-ruby2.1.
Having gem binaries in both places can cause unintended problems. Eg. you might get a wrapper that still points to another ruby version, if /usr/local/bin
happens to be before /usr/bin
in your path.
Have newer ubuntu versions adopted the new package layout? – I'm wondering if the gains you get from using the upstream package source is worth the trouble.
I think PPAs should mirror the distribution packages' directory and config file layout as close as possible, to keep upgrade pains to a minimum.
One potential caveat could be, that if you change the directory layout now and at a later point an upgrade to a newer ubuntu version is done, which might ship with a newer ruby than provided by the ppa, it would break in similar ways if it doesn't follow the layout from the upstream debian packages.
from deb-ruby2.1.
"I think PPAs should mirror the distribution packages' directory and config file layout as close as possible" - ok, yes, agreed. Good policy. Thanks for the sanity check.
I'll check how it's done in Trusty - they might be using the new layout already, but I'll revert the behaviour for these existing packages.
from deb-ruby2.1.
actually, I think I've figured out a better solution. The configs for /var/lib/gems and /usr/local/bin were moved to another package named rubygems-integration, which I'm now doing a test build for Precise. Could you try installing it @felixbuenemann when it becomes available (launchpad says an hour to build). I'll be back in the morning to test myself anyway.
from deb-ruby2.1.
I'm off to bed myself, but I'll check it in the morning.
from deb-ruby2.1.
rubygems-integration does fix the gem install path (though it switches it back to /var/lib so the gems in /usr/lib disappear, but these are experimental packages after all). I'll make ruby2.1 packages depend on rubygems-integration.
I can't reproduce the problem of binaries going in /usr/bin - my bundle bin went in /usr/local/bin using 2.1.1-1bbox2~precise1 (and still do so with the rubygems-integration package).
from deb-ruby2.1.
The rubygems-integration package seems to do the trick. Both the gem and bin path are back to normal.
I also tried the latest daily build of Trusty Tahr server, which ships with ruby1.9.1 and ruby2.0. Strangely the 14.04 ruby package, which is also a dependency of ruby2.0, depends on ruby1.9.1, so installing ruby2.0 also installs ruby1.9.1. I guess that's the same problem you ran into with the ruby dependency.
from deb-ruby2.1.
Btw. if you didn't notice the path problem: Maybe you didn't uninstall the old /usr/local/bin stubs and had /usr/local/bin before /usr/bin in your path? I tried uninstalling bundler, than rubygems-integration and reinstalled bundler and it was back to /usr/bin, while with the rubygems-integration package installed it was using /usr/local/bin.
from deb-ruby2.1.
Nah, I tested it on a completely fresh Ubuntu precise install, and I looked in /usr/local/bin to check.
The rubygems-integration package does explicitly list /usr/local/bin as a binaries install path now, so whatever happened for you the first time around shouldn't happen again now.
from deb-ruby2.1.
Should be fixed in ruby2.1 2.1.1-2bbox3 (which depends on rubygems-integration, which is available for all releases now). Could you please test and confirm? Thanks.
from deb-ruby2.1.
Looks good to me. Tested on two servers and the old paths are properly picked up.
from deb-ruby2.1.
Related Issues (12)
- Update to Ruby 2.1.4 for CVE-2014-8080 & CVE-2014-3566 HOT 6
- Update to Ruby 2.1.5 for CVE-2014-8090 HOT 14
- Update to 2.1.6 because of CVE-2015-1855 HOT 1
- Ruby 2.1.7 HOT 4
- Ruby 2.1.1-1bbox2~precise1 depends on ruby1.8 HOT 14
- ruby 2.1.1p76 is not listed as an alternative ruby after installation HOT 8
- ruby 2.1.x for Ubuntu Lucid Lynx (10.04 LTS)? HOT 9
- relink needed for CVE-2014-0160? HOT 2
- build locally HOT 3
- ruby2.1-dev seems to be missing "mkmf" HOT 3
- ruby-switch for Trusty Tahr (14.04 LTS) HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deb-ruby2.1.