drbrain changed the topic of #rubygems to: RubyGems 2.0.5: http://bit.ly/rubygems-2-0-5 – Latest status: http://twitter.com/rubygems_status and http://status.rubygems.org
yerhot has joined #rubygems
yerhot has quit [Ping timeout: 248 seconds]
yerhot has joined #rubygems
vertis has joined #rubygems
yerhot has quit [Remote host closed the connection]
ckrailo has quit [Quit: Computer has gone to sleep.]
jonahR has joined #rubygems
jonahR has quit [Client Quit]
vertis has quit [Quit: Leaving.]
vertis has joined #rubygems
yerhot has joined #rubygems
yerhot has quit [Remote host closed the connection]
Sargun has quit [Quit: Lost terminal]
<samkottler> if anyone wants to help test the new load balancer please add this to /etc/hosts:
<samkottler> 54.244.162.40 rubygems.org
<samkottler> and then interact with the service :)
<samkottler> evan qrush_: ^^
cowboyd has joined #rubygems
DanKnox is now known as DanKnox_away
vertis has quit [Quit: Leaving.]
vertis has joined #rubygems
huoxito has quit [Quit: Leaving]
vertis1 has joined #rubygems
vertis has quit [Read error: Connection reset by peer]
vertis1 has quit [Read error: Connection reset by peer]
vertis has joined #rubygems
vertis has quit [Read error: Connection reset by peer]
vertis has joined #rubygems
imperator has quit [Quit: Valete!]
cowboyd has quit [Remote host closed the connection]
whit537 has quit [Ping timeout: 264 seconds]
vertis1 has joined #rubygems
vertis has quit [Read error: Connection reset by peer]
vertis has joined #rubygems
vertis1 has quit [Read error: Connection reset by peer]
DanKnox_away is now known as DanKnox
jstr has quit [Quit: Computer has gone to sleep.]
kgrz has joined #rubygems
workmad3 has joined #rubygems
Tjark has joined #rubygems
vertis has quit [Read error: Connection reset by peer]
icco has quit [Ping timeout: 240 seconds]
DanKnox is now known as DanKnox_away
icco has joined #rubygems
workmad3 has quit [Ping timeout: 248 seconds]
icco has quit [Ping timeout: 240 seconds]
icco has joined #rubygems
kgrz has quit [Remote host closed the connection]
kgrz has joined #rubygems
icco has quit [Ping timeout: 252 seconds]
icco has joined #rubygems
kobier|away is now known as kobier
ckrailo has joined #rubygems
kobier has quit [Quit: Leaving...]
ckrailo has quit [Quit: Computer has gone to sleep.]
tbuehlmann has joined #rubygems
kgrz has quit [Remote host closed the connection]
lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
kgrz has joined #rubygems
rickhull has joined #rubygems
Tjark has quit [Quit: ZZZzzz…]
Tjark has joined #rubygems
Tjark has quit [Quit: ZZZzzz…]
tekin has joined #rubygems
yerhot has joined #rubygems
tekin has quit [Quit: Computer has gone to sleep.]
yerhot has quit [Remote host closed the connection]
whit537 has joined #rubygems
rickhull has quit [Quit: Leaving.]
Tjark has joined #rubygems
tcopeland has quit [Quit: Leaving.]
yerhot has joined #rubygems
tekin has joined #rubygems
bbrowning has joined #rubygems
yerhot has quit [Remote host closed the connection]
yerhot has joined #rubygems
yerhot has quit [Remote host closed the connection]
kgrz has quit [Ping timeout: 248 seconds]
huoxito has joined #rubygems
kgrz has joined #rubygems
kgrz has quit [Remote host closed the connection]
yerhot has joined #rubygems
stevenharman has quit [Quit: Leaving...]
yerhot has quit [Remote host closed the connection]
yerhot has joined #rubygems
dvu has joined #rubygems
kgrz has joined #rubygems
whit537_ has joined #rubygems
whit537 has quit [Ping timeout: 240 seconds]
whit537_ is now known as whit537
tcopeland has joined #rubygems
stevenharman has joined #rubygems
tcopeland has quit [Ping timeout: 248 seconds]
tcopeland has joined #rubygems
tcopeland has quit [Client Quit]
tcopeland has joined #rubygems
marpaia has joined #rubygems
kgrz has quit [Remote host closed the connection]
cowboyd has joined #rubygems
kgrz has joined #rubygems
kgrz_ has joined #rubygems
kgrz has left #rubygems [#rubygems]
DanKnox_away is now known as DanKnox
dvu has quit [Remote host closed the connection]
marpaia has quit [Quit: WeeChat 0.4.1]
dvu_ has joined #rubygems
cowboyd has quit [Remote host closed the connection]
cowboyd has joined #rubygems
yerhot has quit [Remote host closed the connection]
yerhot has joined #rubygems
DanKnox is now known as DanKnox_away
DanKnox_away is now known as DanKnox
marpaia has joined #rubygems
knoxy has joined #rubygems
knoxy has quit [Client Quit]
dwknoxy has joined #rubygems
ckrailo has joined #rubygems
paulca has joined #rubygems
cowboyd has quit [Remote host closed the connection]
cowboyd has joined #rubygems
Tjark has quit [Ping timeout: 276 seconds]
DanKnox is now known as DanKnox_away
jfoy has joined #rubygems
kgrz_ has quit [Ping timeout: 245 seconds]
karmi has joined #rubygems
tekin has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
karmi has quit [Quit: Leaving.]
<mpapis> evan, I guess it will be faster to talk here about https://github.com/rubygems/rubygems/pull/596
<evan> sure
<evan> so did you want to start?
<mpapis> sorry had net problems, so the initial ticket describes the issue - sharing gems that do not require ruby/version and do not contain native code or c-extensions
<mpapis> I have implemented it for --user-install as it seemed easier to start with
<mpapis> from here it should be possible to also add GEM_HOME_SHARED
<mpapis> but I spent already enough time on it - and do not want to continue without knowing if it would be accepted
<mpapis> there could be still flag --disable-gem-sharing for paranoid that do not want to share gems between all rubies
<evan> so the point is to be able to share a gem path between different rubies, right?
<mpapis> yes
<mpapis> but only for gems that can be shared
<evan> and the reason that doesn't work now is largely extensions?
<mpapis> extensions, ruby version requirement and platform
<mpapis> those 3 - and I have examples for all of them
<evan> platform is the same as extension really
<evan> it's just whether or not the specific files are generated on this host or not.
<evan> I didn't think that ruby version req was checked at install time
<mpapis> not always, there are jruby gems that contain jars embedded
<evan> could you show me the example for that?
<evan> mpapis: sure, but thats just like, say, a linux .so file
<evan> it's just that they're shipped in the gem
<evan> rather than generated on the installing host
<evan> anyway
<evan> whats the example for ruby version req?
<mpapis> yes but extensions are not set for them
<evan> yes, i know.
<mpapis> this gem can not be installed in shared because it would be available also for 1.9 and 1.8 rubies
<mpapis> and as code is nto compatible - some strange things would happen
<evan> when you try to install that gem on 1.8
<evan> what happens?
<evan> does 'gem install' say "sorry!"
<evan> i guess I can check
<mpapis> trying
<mpapis> ERROR: Error installing pluginator:pluginator requires Ruby version >= 1.9.3.
<mpapis> - older version had 1.9.3 requirement
<evan> ok
<evan> i'm reading your PR again
<mpapis> I have tested it on two gems with and without extensions - and they were installed properly into shared / ruby+version locations, also the tests are now fixed (had to spent some time on making it work)
<mpapis> also there is extra request to automatically(lazy) handle installing extensions - but it's not part of what I want
<mpapis> for me just the routing to shared path when installing
<evan> The removal of check_that_user_bin_dir_is_in_path probably isn't good
<evan> need to put that back in.
<mpapis> it's in - just moved later after evaulation if shared or ruby+version is used
<mpapis> and evaluation needs to read spec first
fromonesrc has joined #rubygems
cowboyd has quit [Remote host closed the connection]
<evan> ah I see.
<evan> given the fact that sharable gems are much, much more common than none
<evan> I wonder if your patch shouldn't be the inverse
<mpapis> I also have added installing gems to shared/cache always
<evan> if GEM_UNSHARABLE_PATH is set, then thats where stuff that has extensions and such go.
<mpapis> ah replacing all paths with shared - and only making it exception to ruby+version - not that bad idea
<mpapis> the only concern I have is compatibility
<mpapis> right now tools set GEM_HOME to platform path
<mpapis> it would be up to user if he wants to set GEM_SHARED_HOME
<evan> yes, thats true
<mpapis> if it's set then share them
<mpapis> and no changes in tools needed
<evan> your code also seems to only be concerned with a sharable path in HOME
<mpapis> for now
<evan> what about when gems are installed outside that?
<evan> ah ok
<mpapis> I did not wanted to spent more time without hearing back from you
<mpapis> I can add GEM_SHARED_HOME support when GEM_HOME is set
<mpapis> in case when no GEM_HOME is set then bad things happen like jruby in gems/shared
<mpapis> so I would avoid changing it for now
DanKnox_away is now known as DanKnox
huoxito has quit [Quit: Leaving]
<mpapis> evan, ok so if you like the work I can add the GEM_SHARED_HOME support or GEM_HOME_SHARED - not sure which fits better
<evan> I'm just thinking how this would effect other things.
DanKnox is now known as DanKnox_away
<evan> for instance, the non-user shared dir
<evan> since right now, the gem dir is inside the global installation dir
<evan> for a specific ruby
<evan> if this is only for a user's home
<evan> I don't see any reason we can't accept your PR
<mpapis> ah so I wanted to only use shared in case GEM_HOME_SHARED is given - or in config
DanKnox_away is now known as DanKnox
<mpapis> also added you to my fork of rubygems in case you want to fix something fast
<mpapis> I can leave this request as it is and build GEM_HOME_SHARED in new one to make it easier to review
paulca has quit [Quit: paulca]
<evan> we can merge the PR the way it is now
<evan> it's fine to have the users gems installed into their GEM_HOME be shared this way.
<mpapis> great, this is good first step ;)
<evan> what is the next step?
<mpapis> implementing support for GEM_HOME_SHARED when it is set
rickhull has joined #rubygems
<evan> what would that do?
<evan> provide a way to explicitly set where the shared gems live?
<evan> so, "~/.gem/shared" is the default value of GEM_HOME_SHARED?
<mpapis> currently it works only for --user-install / when default is not writable
<mpapis> so only when ~/.gem/ruby/2.0.0 would be used shared is picked
<mpapis> with GEM_HOME_SHARED it would also work for GEM_HOME
<evan> i'll have go remind myself when GEM_HOME is in play then :)
<evan> I thought it was the same case you've given
<mpapis> GEM_HOME is used by ruby version managers
<evan> when --user-install is used.
<mpapis> --user-install is extra check
<evan> extra check of what?
<mpapis> when installing
<evan> i'm sorry
<mpapis> it forces ~/.gem
<evan> I don't follow what you mean.
<evan> how does rvm use GEM_HOME?
<mpapis> searching reference... ;)
<mpapis> rvm does: export GEM_HOME=/some path
<mpapis> so the current code would not yet be helpful for rvm
<mpapis> for rvm I would need support for GEM_HOME_SHARED for cases when no --user-install is used
<mpapis> but it affects all managers the same way, not just rvm
yerhot has quit [Remote host closed the connection]
<evan> so
<evan> rvm sets GEM_HOME only so that when --user-install is used by the user, those gems go into a special rvm dir rather than ~/.gems
<evan> ?
<mpapis> when --user-install is not used
<mpapis> --user-install forces ~/.gem
<evan> I'm having to reread the rubygems code
<mpapis> there is even known issue with Arch Linux - as they do --user-install in /etc/gemrc - which breaks rvm
<evan> to remember when the GEM_HOME value is used.
<evan> yes, i've found them. :)
<mpapis> installer forces the path as the check is last in the process
<evan> it's where paths.home is used thats important
<evan> ok, right
<evan> Gem.dir is GEM_HOME || Gem.default_dir
<evan> where Gem.default_dir is a path inferred from the ruby's installation
<evan> so when GEM_HOME is set, all gems are installed there by default.
<evan> sorry i'm being slow, it's a monday morning :)
<mpapis> for me it's 23h online, forgotten to have some sleep :D
<evan> --user-installer has nothing to do with GEM_HOME actually
<evan> it uses Gem.user_dir which always the users home directory + ".gem"
<evan> ok, i'm clear now.
<evan> :)
<evan> so, back to your earlier comments
<evan> " for rvm I would need support for GEM_HOME_SHARED for cases when no --user-install is used"
<evan> I don't understand this
<evan> if your PR was applied as is
<mpapis> it would have no value for rvm - did it for fun
<evan> oh oh.
<evan> I had to reread the PR again now that i've refreshed my memory
<evan> you talk about GEM_HOME_SHARED in your PR
<evan> but you don't actually implement it at all
<evan> thats was my confusion.
<mpapis> that's final goal
<mpapis> getting the first part took already a lot of my time
<evan> the current PR just makes it so that if the user does --user-install
<evan> then ~/.gem/shared is used.
<mpapis> exacty
<evan> ok
<evan> I think that GEM_HOME_SHARED is fine then.
<evan> it's going to always be explicit
<mpapis> there is one part that I was not sure - it makes cache always shared
<evan> which solves the issue about where to put the gems
<evan> I think thats fine
<evan> we've treated a gem name as pretty idempotent already
<evan> so if the cache has puma-2.3.2.gem
<evan> it's valid, no matter where it came from.
x1337807x has joined #rubygems
<mpapis> great, the concern long time ago was about self build gems - but they have -#{platform} added now
<mpapis> ok so new PR for GEM_HOME_SHARED r should I add it to this PR?
<mpapis> *or
<mpapis> also tests for the routing shared / not-shared are not yet added - I just fixed the tests to work with the changes
<evan> go ahead and add it to this PR
<mpapis> it will take some time ... working on it now
tenderlove has joined #rubygems
<mpapis> evan, one more question for why "cachedir' and not "cache_dir" => https://github.com/mpapis/rubygems/commit/9e040857b77d3b52eccdacca8f7e26e5a6f49cd4#commitcomment-3629623
<evan> commented
<evan> indirect: pop into #puma
yerhot has joined #rubygems
fromonesrc has quit [Quit: fromonesrc]
<mpapis> evan, can I add method try_to_share_gems_location
<mpapis> instead of just growin the checks and ifs in installer
<mpapis> not sure about the name ;)
<evan> go ahead
<evan> i'm not sure where you want to put it
<evan> but I can always comment when I see the code.
monban_ is now known as monban
<mpapis> ok, the code was getting to long for one method, felt urge to extract it
marpaia has quit [Ping timeout: 240 seconds]
cowboyd has joined #rubygems
workmad3 has joined #rubygems
jonahR has joined #rubygems
<samkottler> evan: hey, how would you feel about moving to the new LB today?
fromonesrc has joined #rubygems
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
x1337807x has joined #rubygems
marpaia has joined #rubygems
Tjark has joined #rubygems
<mpapis> evan, for https://github.com/rubygems/rubygems/pull/590 - executable hooks - how about white-listing?
<mpapis> this would be better then the current shebang trick that can be done by anyone without any checks
kobier has joined #rubygems
kobier has quit [Client Quit]
<evan> mpapis: whitelisting what?
tenderlove has quit [Remote host closed the connection]
<evan> mpapis: ooh, looks like I misread what the patch does
tenderlove has joined #rubygems
<evan> let me reread
<mpapis> the allowed hooks - to prevent unauthorized hooking into gem executables
tenderlove has quit [Read error: Connection reset by peer]
tenderlove has joined #rubygems
<evan> this runs basically any code at gem install time, yes?
<evan> I think the name is confusing me
<evan> is this hook like all the other hooks
<evan> it's just used when generating the binstub?
dvu_ has quit [Remote host closed the connection]
jeremydei has quit [Ping timeout: 264 seconds]
<evan> oh, it's in the stub
<evan> the diff is confusing.
<evan> I really don't want to do that
fromonesrc has quit [Ping timeout: 240 seconds]
<evan> it's going to add large amounts of time startup
<evan> having to search for the plugin each time
jeremydei has joined #rubygems
<evan> the binstub is a very sensitive place
tenderlove has quit [Ping timeout: 240 seconds]
<evan> if you can show that it doesn't change the startup speed
dvu_ has joined #rubygems
<evan> then we'll consider it's other merits
<evan> there is a big chicken-and-egg with adding this now though
<evan> because it will run for some gems but not others
<evan> due to the time when binstubs are generated.
fromonesrc has joined #rubygems
AlHafoudh has joined #rubygems
<mpapis> evan, yeah there are multiple things to consider - speed is not an issue - I have tested with 200 gems with no slowdown, the search adds nothing to time
<mpapis> for existing gems - I have also a RG command regenerate_binstubs - I could add it too
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<mpapis> my only concern is that right now any gem can hook already to rubygems and do the same harm with shebang - user can not stop it, with whitelsting and disabling shebang we would give user control back over what is ran with gem executables
<mpapis> this is not tested yet, but should implement what is needed - please let me know if you like / or not the changes
Tjark has quit [Quit: ZZZzzz…]
Tjark has joined #rubygems
dvu_ has quit [Ping timeout: 252 seconds]
x1337807x has joined #rubygems
karmi has joined #rubygems
karmi has quit [Ping timeout: 240 seconds]
karmi has joined #rubygems
tenderlove has joined #rubygems
stevenharman has quit [Quit: Leaving...]
tenderlove has quit [Ping timeout: 246 seconds]
<drbrain> mpapis: `gem pristine` already regenerates binstubs
<mpapis> but it aso rebuilds extensions - takes longer then just to generate binstubs
<mpapis> *also
<mpapis> especially problematic if someone has a lot of gems
<mpapis> or it skips those with extensions ... one of those - in any case it's not exactly what would do the trick
tenderlove has joined #rubygems
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
stevenharman has joined #rubygems
pipework has joined #rubygems
rickhull has quit [Quit: Leaving.]
x1337807x has joined #rubygems
jstr has joined #rubygems
jonahR has quit [Quit: jonahR]
yerhot has quit [Remote host closed the connection]
yerhot has joined #rubygems
AlHafoudh has quit [Quit: Computer has gone to sleep.]
tenderlo_ has joined #rubygems
tenderlove has quit [Ping timeout: 240 seconds]
jonahR has joined #rubygems
pipework has quit [Remote host closed the connection]
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rickhull has joined #rubygems
jstr has quit [Ping timeout: 240 seconds]
tcopeland has quit [Ping timeout: 256 seconds]
jstr has joined #rubygems
dwknoxy has quit [Quit: Computer has gone to sleep.]
dwknoxy has joined #rubygems
karmi1 has joined #rubygems
karmi has quit [Ping timeout: 248 seconds]
tbuehlmann has quit [Remote host closed the connection]
<mpapis> evan, ok finally fixed test - pushed code on https://github.com/rubygems/rubygems/pull/596 - will have some sleep now, talk to you tomorrow
<evan> ok, nite!
karmi1 has quit [Quit: Leaving.]
AlHafoudh has joined #rubygems
Tjark has quit [Quit: ZZZzzz…]
yerhot has quit [Remote host closed the connection]
marpaia has quit [Quit: WeeChat 0.4.1]
x1337807x has joined #rubygems
cowboyd has quit [Remote host closed the connection]
bbrowning is now known as bbrowning_away
workmad3 has quit [Ping timeout: 240 seconds]
fromonesrc has quit [Ping timeout: 246 seconds]
tenderlo_ has quit [Remote host closed the connection]
tcopeland has joined #rubygems
fromonesrc has joined #rubygems
fromonesrc has quit [Client Quit]
lsegal has joined #rubygems
tenderlove has joined #rubygems
fromonesrc has joined #rubygems
fromonesrc_ has joined #rubygems
fromonesrc has quit [Ping timeout: 240 seconds]
rgarver has joined #rubygems
fromonesrc_ has quit [Ping timeout: 246 seconds]
fromonesrc has joined #rubygems
rgarver has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
fromonesrc_ has joined #rubygems