<maek>
evan: drbrain said I should talk to you about needing to mirror gems internal to my companies network and that gem mirror is bad news.
nezumi has quit [Ping timeout: 255 seconds]
havenwood has quit [Remote host closed the connection]
havenwood has joined #rubygems
havenwood has quit [Ping timeout: 264 seconds]
karmi has quit [Quit: Leaving.]
newUser1234 has joined #rubygems
havenwood has joined #rubygems
mockra has quit [Remote host closed the connection]
ckrailo has quit [Quit: Computer has gone to sleep.]
nezumi has joined #rubygems
yerhot has joined #rubygems
lsegal has quit []
yerhot has quit [Remote host closed the connection]
qmx|away is now known as qmx
markalanevans has quit [Ping timeout: 240 seconds]
lsegal has joined #rubygems
<evan>
maek: tell me more about why you need to mirror them?
mephux has quit [Excess Flood]
terceiro has quit [Quit: Ex-Chat]
dvu has joined #rubygems
mephux has joined #rubygems
dvu has quit [Ping timeout: 248 seconds]
yut148 has joined #rubygems
newUser1234 has quit [Remote host closed the connection]
markalanevans has joined #rubygems
newUser1234 has joined #rubygems
charliesome has joined #rubygems
qmx is now known as qmx|away
ckelly has quit [Quit: Leaving...]
ckrailo has joined #rubygems
newUser1234 has quit [Remote host closed the connection]
newUser1234 has joined #rubygems
<maek>
evan: we want to have "control" and internal copies of all dependencies used for deploys and we have locations that dont have external internet access so have to mirror from an internal source.
<evan>
i'd suggest you use bundler's package
<evan>
which vendors all the gems
<evan>
so that deploy doesn't need any network access
<maek>
we have chef recipes that require gems and dont use bundler
<evan>
in that case, i'd suggest you check the .gem files into your chef repo
<evan>
and install them from files
<evan>
trying to host your own rubygems mirror to do this isn't what you want.
<evan>
trust me.
<evan>
99.99% of data you don't want
<evan>
and the 0.01% you do want you'll always been trying to figure out how/why to get them resync'd properly
ckrailo has quit [Quit: Computer has gone to sleep.]
<evan>
person A: "We just pushed a new version of X."
<evan>
person B: "ok, well, our mirror only updates every 6 hours, so you'll have to wait until tomorrow."
<evan>
if you have a small, strict subset of gems that you feel you must install over the network
<evan>
I'd suggest setting up geminabox or another simple gem server
<evan>
and explicitly pulling gems from rubygems.org down and pushing them to your own gem server
<maek>
ok
<maek>
so explic
<maek>
explicit
<maek>
its a poopy situation
<maek>
we have just enough gems
<maek>
that the explicity is hard
<maek>
we use about 500 or so gems
<evan>
managed mostly via bundler?
<maek>
about 50/50
<evan>
i'd suggest you work toward getting more of them under bundler so you can use package
<evan>
you'll be much happier with that as a solution
<evan>
because it's much more easily managed
<evan>
and it is trivial to deploy
<evan>
if you can deal with "mostly" local installations
<evan>
you can use the nginx caching proxy configuration I use for the official mirrors
<evan>
github.com/rubygems/rubygems.org-configs
<maek>
it feels weird to have this distribution tool in gem and not be able to use it
<maek>
like chefs gem_install
<evan>
but it doesn't promise to not go out to the internet
<maek>
wants a gem source
<maek>
also ty for the help and thoughts :)
<maek>
appreciate it
<evan>
"this distribution tool in gem" ?
<evan>
what do you mean by that?
<maek>
like gem is this really nice tool for moving gems around and installing them
<maek>
and all of our tooling and deploy process is already using it
<evan>
is the name of the gem "like" ?
<maek>
im bad at typing english
<maek>
gem the command/tool/infrastructure is a really nice way to install gems
havenwood has quit [Remote host closed the connection]
<evan>
sure
<evan>
bundler uses that same infrastructure
<evan>
gem doesn't handle your case very well
<evan>
it's oriented to be able to access a main gem server
<maek>
yes, we remove the external source
<maek>
and add our internal gem server
<evan>
then why are you asking about mirroring?
<maek>
drbrain: said I was doing it wrong and costing you money
<maek>
and suggested I talk to you
<maek>
or maybe less then optimal
<maek>
wrong is the… wrong word
<evan>
so wait
<evan>
you're already mirroring?
<maek>
yes
<maek>
mirrored
<evan>
what did you use to mirror?
<maek>
my initial question was that rubygems-mirror 1.0.1 was not working with gem 2.0.3 but was working with gem 1.8.24 and I was wondering if anyone know what was up
<maek>
gem mirror - via rubygems-mirror gem
<evan>
I see
<evan>
I don't generally suggest people set up mirrors
<evan>
you're just downloading a whole bunch of data you'll never use.
<evan>
tons and tons of it.
<maek>
I mirrored everything right before the xml thing and have not re mirrored yet. we then mirror out to our data centers from our 'central' copy
<maek>
its about 100gb
<maek>
which is not a big concern
<maek>
but
<maek>
I can appreciate the bandwidth on your side
<evan>
it costs me about $12 everytime you make a mirror
<maek>
donation link?
<maek>
not that that solves the problem
<evan>
how often to you update the mirror?
<evan>
the reason I think a mirror is wrong
<maek>
I have not yet since the intial mirror
<evan>
is you've got, say 100G of data
<maek>
I was thinking about doing it once a week
<evan>
and you use probably 10M of it.
<maek>
yeah
newUser1234 has quit [Remote host closed the connection]
<maek>
from my side, not accounting your costs. just mirroring it all is the easiest in terms of man power
<maek>
but I dont want to be a bad citizen
<evan>
I have to go
<maek>
thanks
<evan>
I can't stop you from mirroring
<maek>
have a good night/day
<evan>
you can continue to do that if you wish
<evan>
I just wouldn't use a mirror for your use case
<evan>
personally.
<maek>
if you have more time to talk later I would appreciate it.
<maek>
later aka another day
<maek>
I wont update the mirror and will look into bundle
markalanevans has quit [Quit: markalanevans]
markalanevans has joined #rubygems
newUser1234 has joined #rubygems
dvu has joined #rubygems
hakunin_ is now known as hakunin
dvu has quit [Ping timeout: 260 seconds]
ckelly has joined #rubygems
ckrailo has joined #rubygems
nateberkopec has joined #rubygems
nateberkopec has quit [Client Quit]
huoxito has joined #rubygems
guilleiguaran_ has quit [Ping timeout: 256 seconds]
guilleiguaran_ has joined #rubygems
jrgifford has quit [Ping timeout: 256 seconds]
kgrz has joined #rubygems
reset has quit [Ping timeout: 248 seconds]
maek has quit [Quit: Leaving.]
soveran has quit [Remote host closed the connection]
huoxito has quit [Ping timeout: 258 seconds]
dvu has joined #rubygems
huoxito has joined #rubygems
dvu has quit [Ping timeout: 240 seconds]
mockra has joined #rubygems
mockra has quit [Remote host closed the connection]
baburdick has quit [Quit: Leaving.]
kgrz has quit [Ping timeout: 260 seconds]
pipework has quit [Remote host closed the connection]
jrgifford has joined #rubygems
sbeam has joined #rubygems
_br_ has quit [Ping timeout: 260 seconds]
sbeam has quit [Remote host closed the connection]
kgrz has joined #rubygems
kseifried has quit [Quit: Leaving]
ckrailo has quit [Read error: Connection reset by peer]
ckrailo_ has joined #rubygems
_br_ has joined #rubygems
yashshah has joined #rubygems
kseifried has joined #rubygems
kgrz has quit [Ping timeout: 264 seconds]
ckrailo_ has quit [Ping timeout: 276 seconds]
kgrz has joined #rubygems
huoxito has quit [Quit: Leaving]
lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
kgrz has quit [Read error: Connection reset by peer]
newUser1234 has quit [Remote host closed the connection]
yashshah has quit [Ping timeout: 240 seconds]
karmi has joined #rubygems
yashshah_ has joined #rubygems
yashshah- has joined #rubygems
yashshah_ has quit [Ping timeout: 258 seconds]
newUser1234 has joined #rubygems
yashshah- has quit [Ping timeout: 260 seconds]
kgrz has joined #rubygems
newUser1234 has quit [Remote host closed the connection]
kgrz has quit [Remote host closed the connection]
kgrz has joined #rubygems
wyan has joined #rubygems
dvu has joined #rubygems
dvu has quit [Ping timeout: 246 seconds]
tbuehlmann has joined #rubygems
yashshah- has joined #rubygems
yut148 has quit [Quit: Leaving...]
yashshah- has quit [Ping timeout: 258 seconds]
morphis has quit [Ping timeout: 264 seconds]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
morphis has quit [Excess Flood]
morphis has joined #rubygems
dangerousdave has joined #rubygems
tcopeland has quit [Quit: Leaving.]
yashshah- has joined #rubygems
yashshah- has quit [Ping timeout: 255 seconds]
yashshah- has joined #rubygems
kgrz has quit [Quit: Computer has gone to sleep.]
yashshah- has quit [Ping timeout: 240 seconds]
yashshah- has joined #rubygems
kgrz has joined #rubygems
pipework has joined #rubygems
dvu has joined #rubygems
dvu has quit [Read error: Connection reset by peer]
dvu has joined #rubygems
ckelly has quit [Ping timeout: 248 seconds]
fromonesrc has joined #rubygems
nezumi has quit [Ping timeout: 248 seconds]
fromonesrc has quit [Ping timeout: 256 seconds]
fromonesrc has joined #rubygems
pipework has quit [Remote host closed the connection]
yashshah- has quit [Ping timeout: 256 seconds]
karmi has quit [Quit: Leaving.]
tcopeland has joined #rubygems
ckelly has joined #rubygems
yerhot has joined #rubygems
mustmodify has joined #rubygems
<mustmodify>
drbrain: ping
karmi has joined #rubygems
karmi has quit [Quit: Leaving.]
soveran has joined #rubygems
stevenharman has joined #rubygems
stevenharman_ has joined #rubygems
stevenharman has quit [Read error: Connection reset by peer]
yashshah__ has joined #rubygems
pipework has joined #rubygems
yashshah__ has quit [Ping timeout: 258 seconds]
whit537 has quit [Quit: whit537]
kgrz has quit [Ping timeout: 256 seconds]
karmi has joined #rubygems
dvu has quit [Remote host closed the connection]
kgrz has joined #rubygems
dvu has joined #rubygems
karmi has quit [Ping timeout: 258 seconds]
adkron has joined #rubygems
nezumi has joined #rubygems
therealadam has joined #rubygems
yashshah__ has joined #rubygems
yashshah has joined #rubygems
yashshah__ has quit [Ping timeout: 264 seconds]
gaffneyc has joined #rubygems
nateberkopec has joined #rubygems
kyzh has joined #rubygems
newUser1234 has joined #rubygems
Elhu has joined #rubygems
zerocool_ has joined #rubygems
yashshah has quit [Ping timeout: 240 seconds]
adam12_ has quit [Ping timeout: 240 seconds]
yashshah has joined #rubygems
karmi has joined #rubygems
<zerocool_>
anyone having problems connecting to rubygems?
newUser1234 has quit [Remote host closed the connection]
<Defiler>
alternately you can do 'gem depends' on the gem you're removing, and also remove those, saying 'no' if they tell you they are required for something else
newUser1234 has joined #rubygems
<Amnesia>
hm ok, ty
<Defiler>
Hopefully I'm understanding your goal though.. it's been a rough morning :)
<Amnesia>
Defiler: heh
newUser1234 has quit [Ping timeout: 240 seconds]
soveran has left #rubygems [#rubygems]
<Amnesia>
Defiler: isn't there some automatic way
<Amnesia>
this is quite nasty imo..
<Defiler>
I agree, it's really primitive
<Defiler>
but I'm not aware of a better way; bundler came along and ruined the rubygems development process
<Defiler>
now rubygems is just low-level plumbing
<Amnesia>
:/
<acts_as_coder>
amnesia: Another approach solution to this issue is using something like rvm gemsets. Keep a gemset per project and then you can safely delete the entire gemset without affecting your other apps on the same machine.
<raggi>
we could have a feature like `gem uninstall --include-orphans` that uninstalls the single linkage cluster of dependencies
<Amnesia>
acts_as_coder: ty
<raggi>
the problem is, this tends to be a smaller set than users expect, for larger dependency sets, due to the fact that open dependencies on say 'activesupport >2.0.0' will add linkages
<raggi>
gem cleanup suffers from this problem also
<raggi>
gemsets don't really solve the intent so well necessarily
<raggi>
if the intent of cleaning up is to avoid excessive disk usage, then using many gemsets is likely going ot have the opposite effect
<raggi>
there's actually little reason to use gemsets most of the time, yet its' become an odd habit for folks since rvm
<raggi>
in reality, most users of them seem to install the same gems many times on their systems, and gain no real benefits apart from marginal boot speed improvements and memory fragmentation reduction
<acts_as_coder>
raggi: Agreed on unnecessary duplication/disk usage from gemsets, but I think the gemsets are just an easy thing to wrap your head around and explain. I don't really have to expend much effort thinking about the side effects of blowing away a gemset that I know is dedicated to a particular project.
<raggi>
acts_as_coder: if you have ot blow away a gemset, something went really wrong
<acts_as_coder>
raggi: yes, that happens sometimes ;)
<raggi>
acts_as_coder: i dont' use gemsets, i very likely have more gems installed than you, and i never have to blow stuff away like that
<acts_as_coder>
raggi: Fair enough. I'm not claiming my way is optimal. Curious — do you regularly work with multiple ruby versions across different projects?
<raggi>
yes
<acts_as_coder>
what was amnesia's original use case? Installs rails, it pulls in a bunch of dependencies, then does "gem uninstall rails" but dependencies remain, right?
<raggi>
yeah
<Amnesia>
acts_as_coder: yep
dvu has joined #rubygems
<raggi>
% gem dependency -R activesupport | wc -l
<raggi>
318
<raggi>
this is fundamentally where this gets trickey
<acts_as_coder>
Ok, so the suggestion of a "--include-orphans" flag would check the dependencies and uninstall those too. Of course, problem is that it would do that regardless of whether other gems depended on it too.
<acts_as_coder>
or yes.. what raggi just wrote ;)
<raggi>
acts_as_coder: well, it would need to not do that
<raggi>
acts_as_coder: which means it'll only get partial coverage
<raggi>
a lot of things depend on AS
<Amnesia>
raggi: check out crux's pkgutils
<raggi>
but these days, rails pulls in a lot of other cruft
<Amnesia>
imo that's exactly what rubygems should do
<raggi>
Amnesia: that sadly probably cannot apply 1:1