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