#!/usr/bin/env bash #################################################### # Signing compiled ruby for OSX, for details visit # # https://rvm.io/rubies/codesign/ # #################################################### # Go to subprocess so we can use returns and 'use' ruby temporarily ( # Require Mac OS [[ "${_system_type}" == Darwin ]] || return 1 # Require 10.7 - FIXME: Should be 10.7 or newer. [[ "${_system_version}" == 10.7* ]] || return 2 # Find out ruby executable to sign typeset _ruby_name _ruby_name="$(sed -n '/^ruby_install_name=/ {s/ruby_install_name="\(.*\)"/\1/; p; };' "$MY_RUBY_HOME/config" )" # Require rvm_codesign_identity [[ -n "${rvm_codesign_identity:-}" ]] || { rvm_warn "'rvm_codesign_identity' is not set so RVM can't sign ${_ruby_name}\n" \ "Set it in ~/.rvmrc after reading the following about OS X code signing:\n" \ "https://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html" return 3 } # Require using ruby - btw this should not happen __rvm_use || { rvm_warn "can not use ruby which was just installed ... so can not sign it neither" return 4 } # Sign ruby /usr/bin/codesign -f -s "${rvm_codesign_identity}" "$(which "${_ruby_name}")" )