Every repository with this icon (
Every repository with this icon (
| Description: | Ruby's Intelligent Packaging edit |
-
Files outside of `bin` and `lib` are not copied
5 comments Created 2 months ago by lazyatomI'm not sure if this is a bug, per-se, but it's worth thinking about. I have a gem (vanilla) that has a couple of template configuration files in the root of it's directory structure:
vanilla |- bin/ |- vanilla |- lib/ |- config.ru |- config.example.ymlThe
vanillabinary expects to be able to find and copy those files to set up a vanilla installation on the local machine, but because Rip only cares aboutbinandlib, those files are left behind in the cache.Obviously, one solution is for me to just move the files into
lib, but I wonder if it's worth thinking about how to handle this in general? It seems like we couldn't always copy every file, because thenREADMEwould almost always cause aFileConflict, but it also feels like this kind of stuff doesn't belong inlib.Rip could copy the contents of any directory, but then we'd have to explicitly exclude things like
testandspecandfeaturesand so on, so I'm not sure if that will work well either.Anyone got any thoughts?
Comments
-
Some packages share or overlap directories, such as rack, rack-contrib, rack-cache, rack-test. Installing any of these packages in any order works fine. But if you install rack and rack-contrib. Uninstalling rack will wipe all the files under rack/contrib/* as well.
This patch removes all the package files first, then cleans up the empty directories.
Patch: safely remove package directories
http://github.com/josh/rip/commit/308e9df23721d3f28ef54f33759218374c0d748aComments
This patch looks good based on my informal local testing. Really nice work.
-
Rip::RipfilePackage#dependencies! doesn't skip over blank lines. So it tries to call Package.for(nil, nil) which then blows up because it is expecting a string.
I feel like a total n00b because I couldn't figure out how to write a failing test for this.
Patch: ignore blank lines in ripfiles
http://github.com/josh/rip/commit/649da95aafe7807c98ac8a88c7269971b9c84252Comments
My bad. I had a stray tab on the last line of my deps file. Totally works fine if the last line is completely blank which is all I care about.
Dunno if adding this extra code is worth it.
I think 'not blowing up' would be the right behaviour here, so adding the check in seems good to me. Rip should at least be able to gracefully skip over malformed contents of ripfiles.
As a tangent, if we're checking for lines to ignore, we could allow some form of comment line in
.ripfiles too - any line starting with#, maybe? I don't know if that's useful at all, but it's certainly a possibility.Patch: ignore comments in ripfiles
http://github.com/josh/rip/commit/3a552f3449c6ba77670729839b9a7660bc17a4a7 -
Comments
Disaster averted - installing from Git works. This appears gem related.
-
8 comments Created 2 months ago by jmhodgesrip install deps.rip twice both does and does not install deps.ripbugx→ rip install deps.rip Successfully installed sinatra (3b992ad) Successfully installed haml (2.2.2) → echo 'hoe' >> deps.rip → rip install deps.rip # And these are the problem areas. deps.rip already installed → rip uninstall deps.rip rip: deps.rip isn't installed.These last two lines are the problem, natch.
Comments
I hope this isn't because of the changes to
PackageManager#add_packagethat I made for gems... hmm.MetaPackages should not be passed to
#add_package- why do remote gems need to? Is there another way to accomplish what they need?I think every package gets passed to
#add_package- there doesn't seem to be any logic inInstaller#installthat says otherwise.That said, I'm not sure that my changes have caused the behaviour jmhodges is describing. I'll try to get to the bottom of it this weekend though.
It used to not install meta_packages - see http://github.com/defunkt/rip/commit/f029c292c46698a8f632af8e6397b2d176015c4c
+1 on that fix.
→ rip install deps.rip Successfully installed sinatra (3b992ad) Successfully installed cassandra_object (917c263) → echo 'erubis' >> deps.rip → rip install deps.rip rip: already installed sinatra (3b992ad) rip: already installed cassandra_object (917c263) Successfully installed abstract (1.0.0) Successfully installed erubis (2.6.5) -
4 comments Created 3 months ago by deeptrainbugxdoesn't work well for the following gemsgemsxI tried using the rip to install the following
nokogiri
soap4rdoesn't find the library.
Comments
-
1st attempt install cucumber
rip install cucumber
Searching gems.github.com for cucumber...
ERROR: Could not find cucumber in any repository
Searching gems.rubyforge.org for cucumber...
rip: install failed
-> undefined method `name' for nil:NilClassbut if I retry, it would pass.
Comments
I think this might be the gem server not responding withing 5 seconds (which is the internal timeout used), but I'm not sure...
Initially, I thought so too. But the weird thing is that, when I retry - it says gem x installed successfully. It might not be a big deal since it has always worked on the second try.
Just for interest, the next time it fails, take a look at what's in your ~/.rip/rip-packages directory. How much was successfully downloaded? Typically with a gem, you end up with three similarly-named files - a directory with a .gem in it, then a .gem file, and then a directory containing the unpacked gem.
When it fails, has all of that been created?
This should be fixed with lazyatom's timeout changes. Cheers.
-
I'm getting the following error when i try to use rip:
MAC46SE ~: rip install git://github.com/defunkt/grit.git v1.1.1b fatal: destination path 'grit-1dce6a545b29fd1845f9dc123ead7fa8' already exists and is not an empty directory. rip: install failed -> No such file or directory - /Users/same/.rip/rip-packages/grit-1dce6a545b29fd1845f9dc123ead7fa8I don't know what the problem is. I used the gem install, and
rip checkreturnsall systems go. the directories are chmodded to my user, so i don't know what else the problem could beComments
ruby -v:
ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]Mac OS X 10.5.7
I'm getting a similar behavior on a similar configuration. These tests fail on f375cf0 reflecting the problem.
$ ruby --version ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] $ rip list ripenv: ripdev fakefs (99880ea) test-spec-mini.rb (2009-07-23) $ ruby test/git_test.rb Loaded suite test/git_test Started .E.EE Finished in 0.502716 seconds. 1) Error: test_fails_on_an_unknown_version(): Errno::ENOENT: No such file or directory - /Users/carl/Projects/rip/test/ripdir/rip-packages/simple_c-156d7c2b9cfa0bab0ee4a6f118998e17 /Users/carl/.rip/active/lib/fakefs.rb:338:in `chdir' /Users/carl/.rip/active/lib/fakefs.rb:256:in `chdir' /Users/carl/Projects/rip/lib/rip/packages/git_package.rb:62:in `remote_exists?' /Users/carl/Projects/rip/lib/rip/packages/git_package.rb:26:in `exists?' /Users/carl/Projects/rip/lib/rip/installer.rb:17:in `install' /Users/carl/Projects/rip/lib/rip/commands/install.rb:34:in `install' test/git_test.rb:21:in `test_fails_on_an_unknown_version' 2) Error: test_works_with_a_real_version(): Errno::ENOENT: No such file or directory - /Users/carl/Projects/rip/test/ripdir/rip-packages/simple_c-156d7c2b9cfa0bab0ee4a6f118998e17 /Users/carl/.rip/active/lib/fakefs.rb:338:in `chdir' /Users/carl/.rip/active/lib/fakefs.rb:256:in `chdir' /Users/carl/Projects/rip/lib/rip/packages/git_package.rb:62:in `remote_exists?' /Users/carl/Projects/rip/lib/rip/packages/git_package.rb:26:in `exists?' /Users/carl/Projects/rip/lib/rip/installer.rb:17:in `install' /Users/carl/Projects/rip/lib/rip/commands/install.rb:34:in `install' test/git_test.rb:26:in `test_works_with_a_real_version' 3) Error: test_works_with_an_existing_sha(): Errno::ENOENT: No such file or directory - /Users/carl/Projects/rip/test/ripdir/rip-packages/simple_c-156d7c2b9cfa0bab0ee4a6f118998e17 /Users/carl/.rip/active/lib/fakefs.rb:338:in `chdir' /Users/carl/.rip/active/lib/fakefs.rb:256:in `chdir' /Users/carl/Projects/rip/lib/rip/packages/git_package.rb:62:in `remote_exists?' /Users/carl/Projects/rip/lib/rip/packages/git_package.rb:26:in `exists?' /Users/carl/Projects/rip/lib/rip/installer.rb:17:in `install' /Users/carl/Projects/rip/lib/rip/commands/install.rb:34:in `install' test/git_test.rb:32:in `test_works_with_an_existing_sha' 5 tests, 2 assertions, 0 failures, 3 errorscheck those with defunkt - he mentioned having checked in some failing tests to do with git :/
mind you, that was with edge, not with 0.0.2
What version of rip are you guys running?
$ rip install git://github.com/defunkt/grit.git v1.1.1b Successfully installed diff-lcs (491fbc0) Successfully installed mime-types (v1.16) Successfully installed grit (v1.1.1b) $ rip --version Rip 0.0.2I'm aware of the broken tests on edge.
Running a clean install of 0.0.2:
$ sudo gem install rip Building native extensions. This could take a while... **************************************************** So far so good... Rip needs certain env variables to run. We've tried to install them automatically but may have failed. Run `rip check` to check the status of your installation. Get started: `rip -h` or http://hellorip.com/ **************************************************** Successfully installed rip-0.0.2 1 gem installed $ rip env create grit ripenv: created grit $ rip install git://github.com/defunkt/grit.git v1.1.1b rip: install failed -> No such file or directory - /Users/carl/.rip/rip-packages/grit-1dce6a545b29fd1845f9dc123ead7fa8 $ rip --version Rip 0.0.2I also get the same test failures on this version.
-
9 comments Created 3 months ago by teamonbugxDealing with gems from source and ghgemsxWhen installing gem from source (e.g. merb-flash) and then the same gem from gh (teamon-merb-flash) first, lib/merb-flash.rb gets replaced and then when deleting merb-flash (leaving teamon-merb-flash) there is no merb-flash.rb anymore, so require wont work.
(I think gist will explain it better)
Comments
I noticed this too. What should Rip do if you are trying to override files it already knows about?
The install should fail, right?
I commited some stuff that might help with this in lazyatom@a2aefb3.
Presumably when installing a package, if any path in the files list already exists in an install package's files, we can raise an error, right?
OK, here's a quick attempt: lazyatom@14f75b923. I've pasted some sample output in this gist.
The only problem I can see is that I do still want to be able to play around with monk (in this case), so it should be possible to overcome this somehow. I think this is only really going to be an issue with github vs. normal gems, where the source name is different but the package is basically the same...
I'm not sure this works:
Hmm, I can't replicate that - here's what I get: http://gist.github.com/169000
I have been testing the gem stuff by blowing away
~/.rip/rip-packages, but in this instance I tried to follow your failing scenario exactly. Any ideas as to what's different?I've included a minor diff (that I've since pushed) in the gist, but I don't think that would make a difference...
Okay the newest changes leave me in a better state: http://gist.github.com/169197
But should the whole install fail, or just the install of the conflicting package? I guess this way makes sense.
Yeah, it's tricky. I'm really not sure what state is most useful for the user in the end :-/
-
I was playing with envs and thats what i got:
teamon:~/Projekty/lib/fakefs (master*) % rip install . fakefs (unversioned) already installed teamon:~/Projekty/lib/fakefs (master*) % rip list ripenv: base nothing installed teamon:~/Projekty/lib/fakefs (master*) % rip install git://github.com/nakajima/rip-server.git (....) teamon:~/Projekty/lib/fakefs (master*) % rip list rip: plugin not loaded (/Users/teamon/.rip/active/lib/rip/commands/app.rb) -> no such file to load -- rack ripenv: base nil nil rip-server (864e87b) nil nil nil sinatra (8c666fb) nilOf course I`m not talking about the "rack not found" but the "rip list" output.
Comments
-
unpack! in gem_package.rb forgets to quote paths.
3 comments Created 4 months ago by hlianThe current code is:
system "#{gembin} unpack #{cache_file} --target=#{packages_path} > /dev/null"This fails when
cache_fileorpackages_pathorgembincontain spaces. A simple fix would besystem "\"#{gembin}\" unpack \"#{cache_file}\" --target=\"#{packages_path}\" > /dev/null"Comments
-
Dependencies are not installed for gem packages
2 comments Created 4 months ago by uzytkownik% rip install merb 1.0.10 running install hook for merb Successfully installed merb (1.0.11) % rip list ripenv: merbglobal-ruby18 merb (1.0.11)
There is no merb-core & co.
Comments
-
3 comments Created 4 months ago by stevehfeaturexAllow installation of a specific version of a RemoteGemPackagegemsxComments
I believe I've fixed this in lazyatom@910a61bf; you should now be able to supply versions on the command line, or in deps.rip.
I've implemented this in a better way in lazyatom@f7c08fb02, which is based off the more recent defunkt/master
-
rip should be possible to install without root priviliges.
Comments
You can do this by passing either
--bindirand/or--libdirto Rip'sruby setup.rb.
uzytkownik
Thu Jun 25 08:23:25 -0700 2009
| link
rip check does not work. Additionaly it only works when I'm installing by
setup.rbnot when I install it by gem. -
While working on the rip-server rip extension, it wasn't exactly trivial to continuously modify the code and have it apply to the current rip installation.
Perhaps this could be made more simple, such as a CLI option to require a directory specified?
Comments
-
While working on the rip-server rip extension, which installs a server command, I installed it with errors which prevented rip from working, even uninstall. This may need to be accounted for.
Comments
I have a fix here: nakajima/rip@d7610f9
-
Selected a project name of the oldest routing protocol alive :) I hope google is good to us :)
Comments
There's always Ripe:
Ruby's Intelligent Packaging EnvironmentSince we're Ripe for change. Ripe with excitement. Ripe with anticipation. Ripe with perspiration ;)
http://skitch.com/defunkt/biykd
Seems okay to me :)
-
Dependencies not loaded (MIME::Type example from http://hellorip.com/about.html).
1 comment Created 5 months ago by krukowRunning the example from http://hellorip.com/about.html
on MacOSX fails to load dependency mime-types (>= 0) (Gem::LoadError)shelltrace
krukow:~$ ruby -v
ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-darwin9.4.0]krukow:~$ rip list
ripenv: basenothing installed
krukow:~$ ruby -r grit -e "puts Grit"
ruby: no such file to load -- grit (LoadError)
krukow:~$ rip install git://github.com/defunkt/grit.git v1.1.1b
running install hook for diff-lcs
Successfully installed diff-lcs (491fbc0)
running install hook for mime-types
Successfully installed mime-types (v1.16)
running install hook for grit
Successfully installed grit (v1.1.1b)
krukow:~$ rip list
ripenv: basediff-lcs (491fbc0)
grit (v1.1.1b)
mime-types (v1.16)
krukow:~$ ruby -r grit -e 'puts Grit'
/opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:636:in `report_activate_error': Could not find RubyGem mime-types (>= 0) (Gem::LoadError)from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:141:in `activate' from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:49:in `gem' from /Users/krukow/.rip/active/lib/grit.rb:20Comments
-
Rip have installed the variables into my ~/.zshrc as zsh is my default shell. But what if I'm using also bash? I strongly recommend you to use ~/.profile
Comments
-
I have all my ruby stuff inside /opt/ruby, which is owned by a normal user account, not by root.
Still I get:rip: access denied. please try running again with
sudoI do not want to install gems as root and I don't think you should force people to do so.
Comments
Maybe have it check whether the user has permissions to use the Dir, before telling them they have to.
The merged commits should now let you define the install dirs, the gem and rake used etc. Can you check if this solves the issue?
-
~/Code/Ruby/liquid/benchmark/fixtures (master) $ sudo gem install rip ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
bad response Not Found 404 (http://rubyforge.iasi.roedu.net/gems/rip-0.0.1.gem)~/Code/Ruby/liquid/benchmark/fixtures (master) $ sudo gem install rip ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
bad response Not Found 404 (http://rubyforge.iasi.roedu.net/gems/rip-0.0.1.gem)~/Code/Ruby/liquid/benchmark/fixtures (master) $ sudo gem install rip ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
bad response Not Found 404 (http://gems.rubyforge.mmmultiworks.com/gems/rip-0.0.1.gem)Comments
Strange, its not even on http://master.mirror.rubyforge.org/gems/ I wonder what's up.
This is affecting more then just rip. Almost all rubyforge mirrors are screwed up atm.
-
nil object when running rip install test/dev.rip
1 comment Created 5 months ago by ddfreyneRight after installing rip (with
ruby setup.rb),rip install test/dev.ripfails:▸ rip install test/dev.ripundefined method `exists?' for nil:NilClass rip: install failed -> undefined method `exists?' for nil:NilClass… but passing
--tracesomehow makes it work:▸ rip install test/dev.rip --trace Successfully installed test-spec-mini.rb (2009-06-13) Successfully installed fakefs (c6d4b3f)This happens with edge rip on Ruby 1.8.7.
Comments
-
Naming an env 'active' creates a self referencing symlink that breaks rip.
1 comment Created 5 months ago by amerineNaming an env 'active' creates a self referencing symlink that breaks rip. I added a quick check over at amerine/rip@13c4488 to address the issue.
Comments
-
Don't say 'Could not find the command: --help' on rip --help
4 comments Created 5 months ago by rtomaykoJust show the help output.
Comments
jameswilding
Sat Jun 13 06:18:46 -0700 2009
| link
I got the same results by re-working Rip::Commands.parse_args [my solution treats -h and --help as options[:h] and options[:help], which seems more intuitive but may well break something :) ]
I like that better. Seems cleaner and more correct to me.
jameswilding
Tue Jun 16 03:51:45 -0700 2009
| link
Thanks - I thought so too. Didn't have time to write a test, but it works for me.
-
For most of my C extensions, the Rakefile depends on having development dependencies installed. In fact, the only tasks that should be executed in the Rakefile should be during development mode. This means that if anyone wants to install my C extension via rip, they must have all development dependencies installed as well.
There needs to be a way to tell rip what to do when installing C extensions. With RubyGems, I can give the gemspec a specific extconf.rb or specific Rakefile that does not have any development dependencies, but knows how to build my extension.
Comments
rip buildis the attempt to do what you describe.
tenderlove
Fri Jun 12 16:21:58 -0700 2009
| link
woot! thank you very much
-
/usr/local/bin/rip is not removed when rip gem is uninstalled
2 comments Created 5 months ago by wwoodComments
This should be solved by adding a
rip setup uninstallcommand that removes Rip by runningRip::Setup.uninstall./usr/local/bin/ripis not the only file Rip installs and therefor needs to remove. -
$ sudo gem install rip Building native extensions. This could take a while...
ERROR: Error installing rip:
ERROR: Failed to build gem native extension./opt/local/bin/ruby extconf.rb install rip rip: installing library files
rip: installing rip binary
rip: something failed, rolling back...
/opt/local/lib/ruby/1.8/fileutils.rb:1262:in `initialize': No such file or directory - /usr/local/bin/rip (Errno::ENOENT)problem solved by making /usr/local/bin which apparently did not yet exist.
Comments
Did you have
/usr/local/binin your$PATHprior to creating it?Same issue, Mac OS X 10.5.7 Macports Ruby 1.8.7.
Tried removing /usr/local/bin from my $PATH, did not work
Created /usr/local/bin, worked$PATH = /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/Users/steve/.home/bin
-
root privileges shouldn't be required for installation
3 comments Created 5 months ago by brett'nuff said
Comments
If anyone wants to take a stab at this I'd accept the patch.
This is addressed by rue/rip/commits/ac20d025, revised from earlier version.
-
rip only copies bin/ and lib/, breaks packages that depend on files outside of them
3 comments Created 5 months ago by bdimcheffSince rip only copies bin/ and /lib, any package that uses a file that is not in bin/ or lib/ will break. For instance, haml doesn't work because it attempts to read a VERSION file in the root of the haml project/gem.
Unfortunately, you can't just copy all the files within the project, because there will undoubtedly be conflicts (VERSION, for instance). The only solution I can think of off the top of my head is to install the packages in their own folder as rubygems does, and then add a lot more items to RUBYLIB, but this seems less than ideal...
Comments
Haml has a VERSION at the root level because they use Jeweler.
I've talked to technicalpickles and future versions of Jeweler will be using lib/package/VERSION. A migration script will be provided.
I think this can be solved on a case by case basis - for instance, it's much easier for Haml to move the VERSION into lib/haml than it is for us to add code to Rip.
On that note, feel free to fork Haml and send them a pull request - I'm sure they'd happily accept it :)
I actually don't think that haml uses Jeweler. They just seem to be using their own VERSION file. Same idea, though.
Anyhow, I know this is a pretty small change for most libraries, but it might be a bigger problem (as a whole) to get every library out there to conform to the new rule* than it will be to implement something in rip that is compatible with existing libraries. And I really hope that rip is eventually compatible with everything, because I really want to use it.
* only put stuff you need at runtime in bin and lib
-
I've (hopefully) attached the transcript of the error:
mathie@Tullibardine ~ (master) $ sudo gem install rip [mathie@Tullibardine -> root] Password: Building native extensions. This could take a while... ERROR: Error installing rip: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb rip: installing library files rip: installing rip binary rip: setting up ripenv rip: please create one of these startup scripts in $HOME: /Library/Ruby/Gems/1.8/gems/rip-0.0.1/lib/rip/setup.rb:91:in `setup_startup_script': undefined local variable or method `startup_scripts' for main:Object (NameError) from /Library/Ruby/Gems/1.8/gems/rip-0.0.1/lib/rip/setup.rb:38:in `install' from /Library/Ruby/Gems/1.8/gems/rip-0.0.1/ext/../setup.rb:26 from extconf.rb:11:in `require' from extconf.rb:11 Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/rip-0.0.1 for inspection. Results logged to /Library/Ruby/Gems/1.8/gems/rip-0.0.1/ext/gem_make.out mathie@Tullibardine ~ (master) $ rip RIPDIR env variable not found. did you run setup.rb?I'm on Mac OS X 10.5.7, with the native Ruby. Not sure what else you need?
Comments
... and I totally meant to submit that as me, not @rubaidh!
At a guess, my ~/.bashblah isn't ... conventional?
JaredKuolt
Thu Jun 11 17:33:07 -0700 2009
| link
For clarity, this doesn't affect macports ruby 1.8.7.
JaredKuolt
Thu Jun 11 17:34:28 -0700 2009
| link
@mathie: dump the contents of /Library/Ruby/Gems/1.8/gems/rip-0.0.1/ext/gem_make.out here, please.
martinstreicher
Mon Jun 15 16:48:23 -0700 2009
| link
I installed rip today on my Mac OS X machine. Version is 10.5.7. Xcode is the latest version as of today. Ruby and gem were my own builds. I also ran the /usr/bin versions of Ruby and gem and had no problems.
Umm, I suck. I failed to verify this before, err, installing a more recent version of Mac OS X on my laptop. FWIW, it installs correctly on a, err, more recent version of Mac OS X. :-)
-
Do Not Modify ~/.{bash,zsh,...}rc in Gem Installation
6 comments Created 5 months ago by rueInstallation through Gems (at least) directly modifies ~/.bashrc and environment, which is pretty questionable. Would it be acceptable to change the default to not make modifications, but provide a
rip setupcommand that does it if so desired?Comments
Writing a patch...there is also some use of the rc file's contents rather than just checking the env which seems silly, is there a reason?
The main reason for this is I don't want Rubygems to install the
ripbinary because then every time you runripit'll load the Rubygems runtime.Perhaps we should install, as you suggest, a simple
rip-setupscript through Rubygems that does what it needs to do.Is this version workable?
http://github.com/rue/rip/commit/46bac5fca0ca7fadef620ee6b87e48f9d5c2f59b
installed with Rue's "rip setup" and got an "all systems go" :)
-
Remove need to source profile or start a new console
4 comments Created 5 months ago by aedenError:
RIPDIR env variable not found. did you run setup.rb?
There must be a way to set the RIPDIR environment variable in the current console session. Maybe a system command?
Comments
faithfulgeek
Thu Jun 11 11:15:53 -0700 2009
| link
Could we drop "export RIPDIR=~/.rip" in the install script?
faithfulgeek
Thu Jun 11 11:27:20 -0700 2009
| link
What's wrong with calling ENV["RIPDIR"] = RIPDIR after setup appends to the bash script? Curious why that wouldn't work?
-
Got this trying to install rip with rubygems 1.3.4
$ sudo gem install rip Building native extensions. This could take a while... ERROR: Error installing rip: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb rip: installing library files rip: installing rip binary rip: setting up ripenv rip: please create one of these startup scripts in $HOME: /Library/Ruby/Gems/1.8/gems/rip-0.0.1/lib/rip/setup.rb:91:in `setup_startup_script': undefined local variable or method `startup_scripts' for main:Object (NameError) from /Library/Ruby/Gems/1.8/gems/rip-0.0.1/lib/rip/setup.rb:38:in `install' from /Library/Ruby/Gems/1.8/gems/rip-0.0.1/ext/../setup.rb:26 from extconf.rb:11:in `require' from extconf.rb:11Comments
technoweenie
Thu Jun 11 10:36:09 -0700 2009
| link
-
→ rip install file:///Users/chris/Projects/grit v1.1.1 version conflict! grit requested at v1.1.1 by grit previously requested at 6d6348d by , and rip: installation failedComments
-
As seen on: http://nakajima.github.com/rip
Available here: nakajima/rip@eaab741
Comments
-
Comments
Do you mean package install tests or rip install tests?
rip installtests. Package install tests should be covered by the package's test, I think. -
Comments
-
puts=>ui.putsabort=>ui.abortComments
This'll clear out all the crap in the test output and let us actually run the tests without nasty
abortsruining our fun.See nakajima/rip@b9a688d through nakajima/rip@7dfeab1.
-
Should produce a .rip file of all the libraries (and their versions) in a ripenv
Comments
So this is predicated on the idea that we keep the list of which versions we have installed somewhere or have some way of easily reproducing that list. I'm ka-thunking on the best way of doing that.
One idea is just have the .rip file updated on every install and uninstall. I think that's probably what I'm going to go with but I want to sleep on it.
-
If you type
rip install ambitionand nothing is found, try searching the Sources e.g. github, rubyforge, gemcutter.Sources should be installable as plugins.
Comments
Basic support was added for this tonight in the form of
RemoteGemPackage.You can now
rip install ambition. -
Recognize "ambition-1.0.0" as "ambition version 1.0.0" when installing from directories
6 comments Created 5 months ago by defunktComments
Submitted for your approval:
https://github.com/nakajima/rip/commit/4cc3c7a948cbc7c9a7fe80d311b6f1ec0f92a43f
Do we want to also recognize things like "ambition-1" and "ambition-2" as versions 1 and 2 respectively? It seems a bit sketchy, but I thought I'd mention it anyway.
Sweet, merged in.
Maybe the capture should be
-(\d+.)+?I updated the capture:
https://github.com/nakajima/rip/commit/83080eb33bb6717f26bcd483193bdc00f0935df3
-
7 comments Created 5 months ago by defunktRecognize gem dependencies as rip dependenciesfeaturexComments
Working my way through the rubygems codebase to figure out the right places to mock out. I will be playing music in celebration when I do.
Here's a simple version which downloads dependencies: cldwalker@625d2bd
It doesn't uninstall dependencies or respect gem versions yet.@cldwalker - That's awesome! If you can add some tests I'll merge it in so others may build on it?
I've added another approach, starting at this commit: lazyatom@f029c29
This is heavily based on cldwalker's work, but refactored to ensure that rip's internal dependency information is kept in sync. Let me know what you think; I'll be trying to use it, and updating accordingly.












This is a very good point. I know i had to vendor a library to get bleeding-edge features which hadn't hit the gem release yet, so if you're not copying in my vendor directory, you're going to break my gem.
I think certainly the vendor directory should be copied in, and certainly others, like sinatra apps made as a gem require views and public to be copied in as well.
If I understand the best practice for rip, the things you vendored would go in your deps.rip file.
And rip will install it along side your lib code.
Sounds like a good idea, but I can perhaps see an issue. Can two ruby scripts, both of which run at the same time on the same machine (same user and all) use different ripenvs. This would be advantageous if they need two different versions of the same library.
If this is not possible then my point still stands
"Can two ruby scripts, both of which run at the same time on the same machine (same user and all) use different ripenvs."
Yes, just use the
rip rubycommand.That's what happens from not touching a proper (ruby-running) computer of your own for a month and a half.
This means I am now of the opinion that only copying bin and lib is probably good. It should also keep gems and repositories mildly organised rather than the disorganisation seen in a few libraries or applications (this isn't writing off all gems/libraries with stuff not in bin or lib, just saying you probably need a better reason than "I feel like it")