Ruby specfile template issues (Was: Odd mock build problem)

Michael Schwendt bugs.michael at gmx.net
Wed Mar 1 17:13:21 UTC 2006


On Wed, 01 Mar 2006 09:53:26 -0600, Jason L Tibbitts III wrote:

> I changed the subject to more closely describe what's going on.
> 
> >>>>> "RD" == Rex Dieter <rdieter at math.unl.edu> writes:
> 
> RD> Here's a trick I've been thinking about using to work around the
> RD> same problem when building maxima to make a dependancy against the
> RD> version of sbcl used to build it:
> 
> Unfortunately there's a big problem: I'm not smart enough to have a
> clue why that code works.  So let me just raise some questions and
> hope someone smarter than me can provide some advice.
> 
> The Ruby template is trying to determine where Ruby is configured to
> keep site-installed packages, and then it does:
> 
> Requires:       %{ruby_sitelib}
> 
> Packages built using the template don't actually require ruby, just
> that directory.  The directory isn't even versioned, although inside
> it are versioned directories just like /usr/lib/perl/site_perl.

As a side-note, the package ought not install into Ruby site locations
anyway. It should install into rubylibdir, i.e.

  $ ruby -rrbconfig -e 'puts Config::CONFIG["rubylibdir"]'
  /usr/lib/ruby/1.8

as that, just like Perl vendor locations, allows site installations
which override Fedora-shipped packages.

> So I see a couple of issues:
> 
> 1) The template calls ruby to determine %{ruby_sitelib}, which doesn't
>    work in mock:
> 
> %{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitedir']")}

It does work in mock, albeit only when building the binary, not when
preparing the src.rpm in host chroot.
 




More information about the fedora-extras-list mailing list