morristech
9/21/2013 - 6:49 PM

repair_mac_ruby_links.sh

#! /bin/bash
#
# This script repairs Mac OS X site_ruby and ruby symbolic links if they are broken.
# For more information on this problem please see: http://openradar.appspot.com/9202152
#

set -e
set -u

timestamp=$(date +%s)

if [[ -d /usr/lib/ruby ]]; then
  /usr/bin/rsync -avxHEP /usr/lib/ruby/ \
    /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby/
  mv /usr/lib/ruby /usr/lib/ruby.backup.$timestamp
  ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby /usr/lib/ruby
fi

if [[ -d /usr/lib/ruby/site_ruby ]]; then
  /usr/bin/rsync -avxHEP /usr/lib/ruby/site_ruby/ \
    /Library/Ruby/Site/
  mv /usr/lib/ruby/site_ruby /usr/lib/ruby/site_ruby.backup.$timestamp
  ln -s ../../../../../../../../../../Library/Ruby/Site /usr/lib/ruby/site_ruby
fi

# EOF