On Sun, Jan 20, 2008 at 02:34:32PM +0100, Bram Senders wrote:
> It seems that Shoes is designed to be run from a directory with all
> files in the same place, i.e. in the way that the dist/ dir is created
> and filled with stuff.  However, it is not possible to do it this way on
> a Debian system, because it must adhere to the filesystem hierarchy
> standard (FHS); according to the FHS, the binary and wrapper (shoes and
> shoes-bin) should go in /usr/bin; libshoes.so should go in /usr/lib, and
> the ruby library files (lib/shoes.rb and lib/shoes/*.rb) should go
> in /usr/lib/ruby/1.8.

Can the libs all go in /usr/lib/shoes?  How does Debian package Firefox?

I have mixed feelings about referencing Debian's ruby 1.8 package.
For one, how am I going to include a sandboxed Ruby with Shoes on
distros like Debian?  Debian prefers to slice everything up, whereas
I can really control the bundle on OS X and Windows.

I like that traditional Ruby is separate from Shoes on these
platforms, though I'm still trying to decide if it's necessary.
I definitely don't want to share gems with plain Ruby, though that
is solved by lib/shoes/cache.rb.

> Now, I can put all of those files there in the package, but then the
> binary or wrapper script can't find the Ruby library files, because you
> explicitly set the Ruby load path based on argv[0], which only works of
> course when the script and the libs are in the same dir.  I could patch
> this out, but I really don't know whether this would be the right way to
> go (because I don't know the motivation for altering the Ruby load path
> in the first place), and when I patch this, then Shoes' Debian source
> would differ from the upstream source, and that is not so nice.

A variable could be added to the Makefile that would control this.
The Makefile is for the Linux/BSDs only.

_why

Reply via email to