22611345 building ruby components should not force options which are optional
authorApril Chin <april.chin@oracle.com>
Wed, 27 Jan 2016 17:18:04 -0800
changeset 5355 5ccf97c2878d
parent 5352 df85cc0b38e1
child 5356 94c0413a88fc
22611345 building ruby components should not force options which are optional
components/ruby/mcollective/Makefile
components/ruby/puppet/Makefile
make-rules/install.rb.mk
--- a/components/ruby/mcollective/Makefile	Wed Jan 27 10:09:20 2016 -0800
+++ b/components/ruby/mcollective/Makefile	Wed Jan 27 17:18:04 2016 -0800
@@ -43,6 +43,9 @@
 include $(WS_MAKE_RULES)/install.rb.mk
 include $(WS_MAKE_RULES)/ips.mk
 
+# --mandir option not supported by mcollective install.rb
+INSTALL_RB_MANDIR_OPTION =
+
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # common targets
--- a/components/ruby/puppet/Makefile	Wed Jan 27 10:09:20 2016 -0800
+++ b/components/ruby/puppet/Makefile	Wed Jan 27 17:18:04 2016 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -48,7 +48,10 @@
 	(cd ../hiera ; $(GMAKE) install)
 
 # set the bindir to /usr/sbin
-INSTALL_RB_BINDIR =	$(USRSBINDIR)
+INSTALL_RB_BINDIR_OPTION =	--bindir=$(USRSBINDIR)
+
+# --sbindir option not supported by Puppet install.rb
+INSTALL_RB_SBINDIR_OPTION =
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
--- a/make-rules/install.rb.mk	Wed Jan 27 10:09:20 2016 -0800
+++ b/make-rules/install.rb.mk	Wed Jan 27 17:18:04 2016 -0800
@@ -23,9 +23,27 @@
 
 VENDOR_RUBY = /usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)
 
-# default user executable binaries to /usr/bin
-INSTALL_RB_BINDIR =	$(USRBINDIR)
-INSTALL_RB_SBINDIR =	$(USRSBINDIR)
+# install into proto area
+INSTALL_RB_DESTDIR_OPTION = --destdir=$(PROTO_DIR)
+# use correct version of Ruby rather than the one calling install.rb
+INSTALL_RB_RUBY_OPTION = --ruby=$(RUBY)
+# ensure the bin dir is not a
+# Ruby-version-specific directory
+INSTALL_RB_BINDIR_OPTION = --bindir=$(USRBINDIR)
+# install into vendor_ruby instead of site_ruby
+INSTALL_RB_SITELIBDIR_OPTION = --sitelibdir=$(VENDOR_RUBY)
+# install into standard man directory
+INSTALL_RB_MANDIR_OPTION = --mandir=$(USRSHAREMANDIR)
+# ensure the sbin dir is not a
+# Ruby-version-specific directory
+INSTALL_RB_SBINDIR_OPTION = --sbindir=$(USRSBINDIR)
+
+INSTALL_RB_OPTIONS += $(INSTALL_RB_DESTDIR_OPTION)
+INSTALL_RB_OPTIONS += $(INSTALL_RB_RUBY_OPTION)
+INSTALL_RB_OPTIONS += $(INSTALL_RB_BINDIR_OPTION)
+INSTALL_RB_OPTIONS += $(INSTALL_RB_SITELIBDIR_OPTION)
+INSTALL_RB_OPTIONS += $(INSTALL_RB_MANDIR_OPTION)
+INSTALL_RB_OPTIONS += $(INSTALL_RB_SBINDIR_OPTION)
 
 # install.rb scripts do not have any concept of 'build' so make this a
 # no-op
@@ -39,12 +57,7 @@
 $(BUILD_DIR)/%/.installed:      $(BUILD_DIR)/%/.built
 	$(COMPONENT_PRE_INSTALL_ACTION)
 	(cd $(SOURCE_DIR) ; $(ENV) $(COMPONENT_INSTALL_ENV) \
-                ./install.rb --destdir=$(PROTO_DIR) \
-                --ruby=$(RUBY) \
-                --bindir=$(INSTALL_RB_BINDIR) \
-                --sbindir=$(INSTALL_RB_SBINDIR) \
-                --sitelibdir=$(VENDOR_RUBY) \
-                --mandir=$(USRSHAREMANDIR))
+                ./install.rb $(INSTALL_RB_OPTIONS) )
 	$(COMPONENT_POST_INSTALL_ACTION)
 	$(TOUCH) [email protected]