6638: Fix rvm usage error. Straighten out "need new gem" and "need to build new packa...
authorTom Clegg <tom@curoverse.com>
Wed, 12 Aug 2015 20:10:17 +0000 (16:10 -0400)
committerTom Clegg <tom@curoverse.com>
Thu, 13 Aug 2015 20:06:13 +0000 (16:06 -0400)
jenkins/run-build-packages.sh

index 3893d325cb4fcd6fb41e99d3e29236e2b3aeb445..60d7ab64ff813ec01650ef225c90201d4d7262d0 100755 (executable)
@@ -233,20 +233,18 @@ handle_python_package () {
 handle_ruby_gem() {
     local gem_name=$1; shift
     local gem_version=$(nohash_version_from_git)
+    local gem_src_dir="$(pwd)"
 
-    if [ -e "${gem_name}-${gem_version}.gem" ]; then
-        # This gem doesn't need rebuilding.
-        return
-    fi
-
-    find -maxdepth 1 -name "${gem_name}-*.gem" -delete
+    if ! [[ -e "${gem_name}-${gem_version}.gem" ]]; then
+        find -maxdepth 1 -name "${gem_name}-*.gem" -delete
 
-    # -q appears to be broken in gem version 2.2.2
-    gem build "$gem_name.gemspec" $DASHQ_UNLESS_DEBUG >"$STDOUT_IF_DEBUG" 2>"$STDERR_IF_DEBUG"
+        # -q appears to be broken in gem version 2.2.2
+        $GEM build "$gem_name.gemspec" $DASHQ_UNLESS_DEBUG >"$STDOUT_IF_DEBUG" 2>"$STDERR_IF_DEBUG"
+    fi
 
-    fpm_build "$gem_name"-*.gem "" "Curoverse, Inc." gem "" \
+    cd "$WORKSPACE/packages/$TARGET"
+    fpm_build "$gem_src_dir/$gem_name"-*.gem "" "Curoverse, Inc." gem "" \
         --prefix "$FPM_GEM_PREFIX"
-    mv -t "$WORKSPACE/packages/$TARGET/" "$gem_name"*."$FORMAT"
 }
 
 # Build packages for everything
@@ -368,7 +366,10 @@ fpm_verify () {
 }
 
 if [[ -f /etc/profile.d/rvm.sh ]]; then
-  source /etc/profile.d/rvm.sh
+    source /etc/profile.d/rvm.sh
+    GEM="rvm-exec default gem"
+else
+    GEM=gem
 fi
 
 # Make all files world-readable -- jenkins runs with umask 027, and has checked
@@ -409,11 +410,7 @@ perl Makefile.PL INSTALL_BASE=install >"$STDOUT_IF_DEBUG" && \
 # Ruby gems
 debug_echo -e "\nRuby gems\n"
 
-if type rvm-exec >/dev/null 2>&1; then
-  FPM_GEM_PREFIX=$(rvm-exec system gem environment gemdir)
-else
-  FPM_GEM_PREFIX=$(gem environment gemdir)
-fi
+FPM_GEM_PREFIX=$($GEM environment gemdir)
 
 cd "$WORKSPACE/sdk/ruby"
 handle_ruby_gem arvados