[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Cleaned version [was: Rubygems debian package proof of concept]



A cleaned version

http://lesuisse.net/rubygems-poc/

This one is based on the package of Daigo Moriwaki

Feedback?

Antony Lesuisse wrote:
(resent afer subscribing email)

I've made a proof of concept package. It seems to work.

http://lesuisse.net/rubygems-poc/

It's UGLY from a DD point of view i use dpkg-buildpackage as if i was using
tar zcvf. But what matters is the patch below. of course the if Process.uid
should be remplaced by an option given to /usr/bin/gem:

    --install-usr-local
    --install-usr (DISCOURAGED)
    --install-home  (to ~/.rubygems default option)

The patch is here. Remember it's UGLY and it's only a proof of concept.

Feedback ?

--- rubygems-0.8.11/lib/rubygems.rb    2005-07-09 21:12:56.000000000 +0200
+++ rubygems-poc/rubygems-poc-0.1/usr/lib/ruby/1.8/rubygems.rb 2006-04-20
16:53:49.000000000 +0200
@@ -315,7 +315,13 @@
         @gem_path << Gem.dir
       else
         @gem_path = [Gem.dir]
-      end
+      end
+#-------------------------------------------------------------
+# Antony HACK HACK
+      @gem_path <<
File.join(Config::CONFIG["sitedir"],"gems",Config::CONFIG['ruby_version'])
+      @gem_path << File.join(File.expand_path('~'),".rubygems")
+      @gem_path << File.join(Config::CONFIG['libdir'], 'ruby', 'gems',
Config::CONFIG['ruby_version'])
+#-------------------------------------------------------------
       @gem_path.uniq!
       @gem_path.each do |gp| ensure_gem_subdirectories(gp) end
     end
@@ -367,6 +373,16 @@
       # fundamental RubyGems dependency, so it might as well be up the
       # top.  -- Gavin Sinclair, 2004-12-12
       #
+
+      #----------------------------------------------------------------
+      # Antony HACK HACK
+      if Process.uid==0
+        return
File.join(Config::CONFIG["sitedir"],"gems",Config::CONFIG['ruby_version'])
+      else
+        return File.join(File.expand_path('~'),".rubygems")
+      end
+      #----------------------------------------------------------------
+
       if defined? RUBY_FRAMEWORK_VERSION
         return File.join(File.dirname(Config::CONFIG["sitedir"]), "Gems")
       else






Reply to: