[Pkg-ruby-extras-maintainers] RFC: support for multiple Ruby versions

Thierry Reding thierry at doppeltgemoppelt.de
Mon Feb 13 10:03:34 UTC 2006


* Thierry Reding wrote:
> * Esteban Manchado Velázquez wrote:
> > On Tue, Feb 07, 2006 at 06:05:21PM +0100, Thierry Reding wrote:
> [...]
> > > An additional problem is that the source code is first compiled for each
> > > package, before the first package is installed, so the only way I found for
> > > solving this problem was to completely clean, configure, build and install
> > > the whole package in each `install' target.
> > > 
> > > I've patched the ruby-setup-rb.mk class and this seems to correcly build the
> > > libcairo-ruby package for ruby1.8 and ruby1.9. However, since I'm not very
> > > familiar with CDBS I wanted to send the diff to this list for comments. Maybe
> > > someone more knowledgeable about these things can comment.
> > > 
> > > Also this may already be implemented and I just couldn't find it. If so, by
> > > all means, please let me know. =)
> > 
> >     It wasn't implemented AFAIK, but perhaps we should try to get different
> > versions to compile on "build", and then install them all in "install".
> 
> I was thinking about this too, but couldn't come up with an easy way to do
> it, so I thought maybe this would be the best temporary solution. I also took
> a look at the CDBS class for Python packaging, and it seems they do it the
> same way (clean, build, install all in the install target).
> 
> >     But it probably won't be easy to do, because I don't know how to tell if
> > we need to compile something. Perhaps we could just always use
> > version-dependent directories. Is there any way to tell setup.rb to compile
> > things in another directory or something like that?
> 
> I think if we'll go for version-dependent directories, then I would recommend
> either always using version-dependent directories, or to use some kind of
> CDBS configuration variable (along the lines of DEB_RUBY_NEEDS_COMPILE) to
> determine whether or not version-dependent directories should be used.
> 
> So far I haven't figured out a way to tell setup.rb to compile into a
> different directory. extconf.rb seems to be able to do so, because the
> generated Makefile contains lots of paths which can be overridden. I am not
> entirely certain about this, though, so I will need to take a closer look.

Turns out that extconf.rb cannot compile into different directories. One way
I can think of to achieve the goal of having different build directories is
to create subdirectories and shadow the root into those, then running the
build target from them. I find this much uglier than running clean,
configure, build and install for each package, however.

I guess the same holds for setup.rb. So what do you think? Shall we stick
with the clean-config-build-install method or still look for something
better? I personally prefer the former.

Thierry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/attachments/20060213/d600ffa9/attachment-0001.pgp


More information about the pkg-ruby-extras-maintainers mailing list