Issue #18205 has been updated by Jesse Endahl.

Status changed from Closed to Re-opened

So I did more research on this, and found this thread from 2010 where Gary and 
Nigel, among others, discussed this very issue. Here's the thread:

https://groups.google.com/forum/?fromgroups=#!topic/instadmg-dev/gJqaiQ9duJk

Here's the smoking gun post from a user named larkost: 
https://groups.google.com/d/msg/instadmg-dev/gJqaiQ9duJk/Y8Ruikq3rggJ

He explains that this is actually due to an Apple bug regarding symlinks, which 
he filed as Radar 7758836. I also found an Open Radar for it here: 
http://openradar.appspot.com/9202152. The bug, as he explains it:

> We have all been chasing around the symlinks, and it turns out one of them is 
> wrong, so this is a bug on Apple's part. The problem child is:
>
> /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/site_ruby
>
> (note: the 1.8 is usually done as "Current", but this symlink resolves to 
> "1.8" in the same directory on 10.6)
>
> This resolves to:
>
> ../../../../../../../../../../Library/Ruby/Site
>
> If you count the back-references you will get 10, but there are only 9 levels 
> in the absolute path. When you are booted the extra level gets swallowed as a 
> non-fatal (and non warning) error (try: "cd /; cd.."). *However, if the 
> filesystem is mounted anywhere other than root* (as it is in InstaDMG) this 
> will cause a problem since you can ../ one more directory out, but then there 
> is no /Library/Ruby/Site in that outer folder.
>
> So this is all a bug on Apple's part in the symlinks, and it looks like it 
> has been a problem since 10.5 (I just checked . I am going to report it right 
> now. But the Puppet package is probably going to have to work around this for 
> now by not trying to have the package follow the torturous list of softlinks, 
> but install stuff straight to /Library/Ruby/Site.

larkost explains that the workaround that Puppet could do is to install 
straight to /Library/Ruby/Site instead of trying to follow the symlinks.

To which Nigel said:

> Well done Karl. I really should have thought of actually counting the
damn levels :)

> This brings me back to having to produce different packages for 10.4
and 10.5+ though :(

> What do you all think of the option of fixing the symlink in a
preinstall if on 10.5/6 ?

And that's where the thread died.

----------------------------------------
Bug #18205: Ruby libraries are broken under osx mountain lion
https://projects.puppetlabs.com/issues/18205#change-90721

* Author: Ben Ford
* Status: Re-opened
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Affected Puppet version: 2.7.20
* Keywords: 
* Branch: 
----------------------------------------
See 
https://ask.puppetlabs.com/question/67/unable-to-run-puppet-on-osx-mountain-lion/

Puppet opensource cannot require libraries because the rubylib has apparently 
changed. Any puppet scripts exit with:
`/usr/bin/puppet:3:in `require': no such file to load -- 
puppet/util/command_line (LoadError)
from /usr/bin/puppet:3`

As a hacky workaround, I made symlinks, like

    sudo ln -s /usr/lib/ruby/site_ruby/1.8/puppet 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/site_ruby/1.8/puppet
    sudo ln -s /usr/lib/ruby/site_ruby/1.8/puppet.rb 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/site_ruby/1.8/puppet.rb
    sudo ln -s /usr/lib/ruby/site_ruby/1.8/semver.rb 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/site_ruby/1.8/semver.rb





-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to