April,
On 11/7/12 10:53 AM, April Chin wrote:
On 11/ 7/12 08:53 AM, Drew Fisher wrote:
All,
I'm working on bringing Puppet into the Userland consolidation. While
working through the legal and ARC paperwork, I've turned to working
on the technical portion of the project. Puppet is written almost
entirely in Ruby and its built-in unittests require extra rubygems
(Ruby packages) to run. How would you recommend handling this case?
Hi Drew,
If these extra gems are only required for testing puppet itself,
you could integrate puppet first, and have a follow-up case later
to include these other gems separately, to support Puppet testing.
That sounds good to me. It actually requires 10 different gems once all
the dependencies are satisfied.
Not all of our components have working tests yet, for various
reasons. It is not required to get a working test target
in the Makefile before you integrate, although you would still
run the tests yourself, manually installing the needed gems.
Understood.
The rubygems installer (gem) has options for specifying an install
directory and a binary directory. Ruby also has an environment
variable like PYTHONPATH for searching non-default directories for
modules so I think we could rig something in the makefiles to handle
this, but I wanted to check first. Is it worth going to these
lengths to get the unittests working? Is it possible that we
evaluate the inclusion of these Ruby modules in our Ruby package?
I'd rather see additional Ruby modules packaged separately, rather than
bundled into the ruby package.
What I meant was I think if we find these gems useful, we should
evaluate them each individually and add them to our ruby-18 (and
ruby-19) package so users could have a more complete utility.
The ruby libraries in these gems could
still be installed into one of the standard paths for ruby libraries,
possibly under a vendor_ruby directory.
For ruby 1.8.7 on Solaris, this is the $LOAD_PATH where it looks for
ruby libraries:
/usr/ruby/1.8/lib/ruby/site_ruby/1.8
/usr/ruby/1.8/lib/ruby/site_ruby/1.8/i386-solaris2.11
/usr/ruby/1.8/lib/ruby/site_ruby
/usr/ruby/1.8/lib/ruby/vendor_ruby/1.8
/usr/ruby/1.8/lib/ruby/vendor_ruby/1.8/i386-solaris2.11
/usr/ruby/1.8/lib/ruby/vendor_ruby
/usr/ruby/1.8/lib/ruby/1.8
/usr/ruby/1.8/lib/ruby/1.8/i386-solaris2.11
.
Right. My current workspace is installing Puppet in .../vendor_ruby/1.8
If you'd like, I can post a webrev (work in progress - not ready for
actual review) for you to glance at.
The list of gems is here:
http://projects.puppetlabs.com/projects/1/wiki/Development_Writing_Tests#Running-Tests
We would also need to bring 'rake' into the gate (Ruby make).
Is rake required only for testing Puppet or is it needed for building
also?
I will be bringing Ruby 1.9.3 into Solaris, which includes rake v0.8.7.
It looks like it's just for testing. I've been able to build Puppet
without rake.
Thanks!
-Drew
_______________________________________________
userland-discuss mailing list
userland-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/userland-discuss