Re: Whither site_ruby?

Dan Cross <[email protected]> Tue, 18 Jan 2005 20:13:44 -0500
Newsgroups gmane.comp.apache.mod-ruby
Message-ID <[email protected]>
Shugo Maeda <[email protected]> writes:
> Dan Cross wrote:
> > I've searched for an answer on this, but not found one.  Why, out of
> > curiousity, doesn't mod_ruby install itself under the site_ruby
> > directory?
> 
> Please use the `site-install' target instead of `install'.
> 
> # make site-install

Hi Shugo,

Thanks for the note.  I had a look at this, but it doesn't do exactly
what I want, as it then ignores the prefix I give it when I run
configure.rb.

Please allow me to explain in a bit more detail what I'm trying to
accomplish.

I have a relatively large body of software that I'm trying to manage
using GNU stow.  When I build a package, for instance, foo-1.2.3, I
install it into the directory tree rooted at:

	/contrib/packages/foo/1.2.3

I expect it to create /contrib/packages/foo/1.2.3/{bin,lib}, and
whatever else is installed by that particularly application.  Then, I
merge all these things into a single directory hierarchy using e.g.,
GNU stow:

	cd /contrib/packages/pkg
	ln -s ../foo/1.2.3 foo stow -v -d
	/contrib/packages/pkg -t /sw foo

This step then populates /sw/bin, /sw/lib, and etc with links to
/contrib/packages/pkg/foo, which in turn points to the actual installed
package.  With this setup, switching between versions is very easy; I
just have to change one symlink and re-run stow.

This works reasonably well, and when I built Ruby, I configured it with
the ``--with-sitedir=/sw/lib/ruby/1.8'' option, so the Ruby interpreter
itself will look for modules in the right place, despite being
installed elsewhere.

However, when I run ``make site-install'' for mod_ruby, it installs it
directly into /sw/lib/ruby/site_ruby/1.8, which isn't where I want it.
Using either `make install' or `make site-install', mod_ruby.so is
installed directly into the Apache libexec directory, though I can work
around that with a make variable specified on the command line.

I *can* get it to do the `right' thing by clever use of specifying make
variables on the command line, but surely there's a better way....

Thanks for any information.

	- Dan C.