#!/bin/bash # -------------------------------------------------------------------------- # # Copyright 2002-2017, OpenNebula Project, OpenNebula Systems # # # # Licensed under the Apache License, Version 2.0 (the "License"); you may # # not use this file except in compliance with the License. You may obtain # # a copy of the License at # # # # http://www.apache.org/licenses/LICENSE-2.0 # # # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, # # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # # See the License for the specific language governing permissions and # # limitations under the License. # #--------------------------------------------------------------------------- # #------------------------------------------------------------------------------- # Install program for OpenNebula. It will install it relative to # $ONE_LOCATION if defined with the -d option, otherwise it'll be installed # under /. In this case you may specified the oneadmin user/group, so you do # not need run the OpenNebula daemon with root privileges #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # COMMAND LINE PARSING #------------------------------------------------------------------------------- usage() { echo echo "Usage: install.sh [-u install_user] [-g install_group] [-k keep conf]" echo " [-d ONE_LOCATION] [-c cli|ec2] [-r] [-h]" echo echo "-u: user that will run opennebula, defaults to user executing install.sh" echo "-g: group of the user that will run opennebula, defaults to user" echo " executing install.sh" echo "-k: keep configuration files of existing OpenNebula installation, useful" echo " when upgrading. This flag should not be set when installing" echo " OpenNebula for the first time" echo "-d: target installation directory, if not defined it'd be root. Must be" echo " an absolute path." echo "-c: install client utilities: OpenNebula cli and ec2 client files" echo "-s: install OpenNebula Sunstone" echo "-p: do not install OpenNebula Sunstone non-minified files" echo "-G: install OpenNebula Gate" echo "-f: install OpenNebula Flow" echo "-r: remove Opennebula, only useful if -d was not specified, otherwise" echo " rm -rf \$ONE_LOCATION would do the job" echo "-l: creates symlinks instead of copying files, useful for development" echo "-h: prints this help" } #------------------------------------------------------------------------------- PARAMETERS="hkrlcspou:g:d:" if [ $(getopt --version | tr -d " ") = "--" ]; then TEMP_OPT=`getopt $PARAMETERS "$@"` else TEMP_OPT=`getopt -o $PARAMETERS -n 'install.sh' -- "$@"` fi if [ $? != 0 ] ; then usage exit 1 fi eval set -- "$TEMP_OPT" INSTALL_ETC="yes" UNINSTALL="no" LINK="no" CLIENT="no" ONEGATE="no" SUNSTONE="no" SUNSTONE_DEV="yes" ONEFLOW="no" ONEADMIN_USER=`id -u` ONEADMIN_GROUP=`id -g` SRC_DIR=$PWD while true ; do case "$1" in -h) usage; exit 0;; -k) INSTALL_ETC="no" ; shift ;; -r) UNINSTALL="yes" ; shift ;; -l) LINK="yes" ; shift ;; -c) CLIENT="yes"; INSTALL_ETC="no" ; shift ;; -G) ONEGATE="yes"; shift ;; -s) SUNSTONE="yes"; shift ;; -p) SUNSTONE_DEV="no"; shift ;; -f) ONEFLOW="yes"; shift ;; -u) ONEADMIN_USER="$2" ; shift 2;; -g) ONEADMIN_GROUP="$2"; shift 2;; -d) ROOT="$2" ; shift 2 ;; --) shift ; break ;; *) usage; exit 1 ;; esac done #------------------------------------------------------------------------------- # Definition of locations #------------------------------------------------------------------------------- CONF_LOCATION="$HOME/.one" if [ -z "$ROOT" ] ; then BIN_LOCATION="/usr/bin" LIB_LOCATION="/usr/lib/one" ETC_LOCATION="/etc/one" LOG_LOCATION="/var/log/one" VAR_LOCATION="/var/lib/one" ONEGATE_LOCATION="$LIB_LOCATION/onegate" SUNSTONE_LOCATION="$LIB_LOCATION/sunstone" ONEFLOW_LOCATION="$LIB_LOCATION/oneflow" SYSTEM_DS_LOCATION="$VAR_LOCATION/datastores/0" DEFAULT_DS_LOCATION="$VAR_LOCATION/datastores/1" RUN_LOCATION="/var/run/one" LOCK_LOCATION="/var/lock/one" INCLUDE_LOCATION="/usr/include" SHARE_LOCATION="/usr/share/one" MAN_LOCATION="/usr/share/man/man1" VM_LOCATION="/var/lib/one/vms" DOCS_LOCATION="/usr/share/docs/one" if [ "$CLIENT" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $ETC_LOCATION" DELETE_DIRS="" CHOWN_DIRS="" elif [ "$SUNSTONE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $SUNSTONE_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" elif [ "$ONEGATE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $ONEGATE_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" elif [ "$ONEFLOW" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION $ONEFLOW_LOCATION \ $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" else MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $ETC_LOCATION $VAR_LOCATION \ $INCLUDE_LOCATION $SHARE_LOCATION $DOCS_LOCATION \ $LOG_LOCATION $RUN_LOCATION $LOCK_LOCATION \ $SYSTEM_DS_LOCATION $DEFAULT_DS_LOCATION $MAN_LOCATION \ $VM_LOCATION $ONEGATE_LOCATION $ONEFLOW_LOCATION" DELETE_DIRS="$LIB_LOCATION $ETC_LOCATION $LOG_LOCATION $VAR_LOCATION \ $RUN_LOCATION $SHARE_DIRS" CHOWN_DIRS="$LOG_LOCATION $VAR_LOCATION $RUN_LOCATION $LOCK_LOCATION" fi else BIN_LOCATION="$ROOT/bin" LIB_LOCATION="$ROOT/lib" ETC_LOCATION="$ROOT/etc" VAR_LOCATION="$ROOT/var" ONEGATE_LOCATION="$LIB_LOCATION/onegate" SUNSTONE_LOCATION="$LIB_LOCATION/sunstone" ONEFLOW_LOCATION="$LIB_LOCATION/oneflow" SYSTEM_DS_LOCATION="$VAR_LOCATION/datastores/0" DEFAULT_DS_LOCATION="$VAR_LOCATION/datastores/1" INCLUDE_LOCATION="$ROOT/include" SHARE_LOCATION="$ROOT/share" MAN_LOCATION="$ROOT/share/man/man1" VM_LOCATION="$VAR_LOCATION/vms" DOCS_LOCATION="$ROOT/share/docs" if [ "$CLIENT" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$ONEGATE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $ONEGATE_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$SUNSTONE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $SUNSTONE_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$ONEFLOW" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION $ONEFLOW_LOCATION \ $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" else MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $ETC_LOCATION $VAR_LOCATION \ $INCLUDE_LOCATION $SHARE_LOCATION $SYSTEM_DS_LOCATION \ $DEFAULT_DS_LOCATION $MAN_LOCATION $DOCS_LOCATION \ $VM_LOCATION $ONEGATE_LOCATION $ONEFLOW_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="$ROOT" fi CHOWN_DIRS="$ROOT" fi SHARE_DIRS="$SHARE_LOCATION/examples \ $SHARE_LOCATION/websockify \ $SHARE_LOCATION/esx-fw-vnc" ETC_DIRS="$ETC_LOCATION/vmm_exec \ $ETC_LOCATION/hm \ $ETC_LOCATION/auth \ $ETC_LOCATION/auth/certificates \ $ETC_LOCATION/ec2query_templates \ $ETC_LOCATION/sunstone-views \ $ETC_LOCATION/cli" LIB_DIRS="$LIB_LOCATION/ruby \ $LIB_LOCATION/ruby/opennebula \ $LIB_LOCATION/ruby/cloud/ \ $LIB_LOCATION/ruby/cloud/econe \ $LIB_LOCATION/ruby/cloud/econe/views \ $LIB_LOCATION/ruby/cloud/CloudAuth \ $LIB_LOCATION/ruby/onedb \ $LIB_LOCATION/ruby/onedb/shared \ $LIB_LOCATION/ruby/onedb/local \ $LIB_LOCATION/ruby/onedb/patches \ $LIB_LOCATION/ruby/vendors \ $LIB_LOCATION/mads \ $LIB_LOCATION/sh \ $LIB_LOCATION/ruby/cli \ $LIB_LOCATION/ruby/cli/one_helper \ $LIB_LOCATION/ruby/vcenter_driver" VAR_DIRS="$VAR_LOCATION/remotes \ $VAR_LOCATION/remotes/im \ $VAR_LOCATION/remotes/im/kvm.d \ $VAR_LOCATION/remotes/im/kvm-probes.d \ $VAR_LOCATION/remotes/im/vcenter.d \ $VAR_LOCATION/remotes/im/ec2.d \ $VAR_LOCATION/remotes/im/az.d \ $VAR_LOCATION/remotes/vmm \ $VAR_LOCATION/remotes/vmm/lib \ $VAR_LOCATION/remotes/vmm/kvm \ $VAR_LOCATION/remotes/vmm/vcenter \ $VAR_LOCATION/remotes/vmm/ec2 \ $VAR_LOCATION/remotes/vmm/az \ $VAR_LOCATION/remotes/vnm \ $VAR_LOCATION/remotes/vnm/802.1Q \ $VAR_LOCATION/remotes/vnm/vxlan \ $VAR_LOCATION/remotes/vnm/dummy \ $VAR_LOCATION/remotes/vnm/ebtables \ $VAR_LOCATION/remotes/vnm/fw \ $VAR_LOCATION/remotes/vnm/ovswitch \ $VAR_LOCATION/remotes/vnm/vcenter \ $VAR_LOCATION/remotes/tm/ \ $VAR_LOCATION/remotes/tm/dummy \ $VAR_LOCATION/remotes/tm/shared \ $VAR_LOCATION/remotes/tm/fs_lvm \ $VAR_LOCATION/remotes/tm/qcow2 \ $VAR_LOCATION/remotes/tm/ssh \ $VAR_LOCATION/remotes/tm/ceph \ $VAR_LOCATION/remotes/tm/dev \ $VAR_LOCATION/remotes/tm/vcenter \ $VAR_LOCATION/remotes/tm/iscsi_libvirt \ $VAR_LOCATION/remotes/hooks \ $VAR_LOCATION/remotes/hooks/ft \ $VAR_LOCATION/remotes/hooks/raft \ $VAR_LOCATION/remotes/datastore \ $VAR_LOCATION/remotes/datastore/dummy \ $VAR_LOCATION/remotes/datastore/fs \ $VAR_LOCATION/remotes/datastore/ceph \ $VAR_LOCATION/remotes/datastore/dev \ $VAR_LOCATION/remotes/datastore/vcenter \ $VAR_LOCATION/remotes/market \ $VAR_LOCATION/remotes/market/http \ $VAR_LOCATION/remotes/market/one \ $VAR_LOCATION/remotes/market/s3 \ $VAR_LOCATION/remotes/datastore/iscsi_libvirt \ $VAR_LOCATION/remotes/auth \ $VAR_LOCATION/remotes/auth/plain \ $VAR_LOCATION/remotes/auth/ssh \ $VAR_LOCATION/remotes/auth/x509 \ $VAR_LOCATION/remotes/auth/ldap \ $VAR_LOCATION/remotes/auth/server_x509 \ $VAR_LOCATION/remotes/auth/server_cipher \ $VAR_LOCATION/remotes/auth/dummy \ $VAR_LOCATION/remotes/ipam/dummy" SUNSTONE_DIRS="$SUNSTONE_LOCATION/routes \ $SUNSTONE_LOCATION/models \ $SUNSTONE_LOCATION/models/OpenNebulaJSON \ $SUNSTONE_LOCATION/views" SUNSTONE_MINIFIED_DIRS="SUNSTONE_LOCATION/public \ $SUNSTONE_LOCATION/public/dist \ $SUNSTONE_LOCATION/public/dist/console \ $SUNSTONE_LOCATION/public/css \ $SUNSTONE_LOCATION/public/css/opensans \ $SUNSTONE_LOCATION/public/bower_components/fontawesome/fonts \ $SUNSTONE_LOCATION/public/locale/languages \ $SUNSTONE_LOCATION/public/images \ $SUNSTONE_LOCATION/public/images/logos" ONEFLOW_DIRS="$ONEFLOW_LOCATION/lib \ $ONEFLOW_LOCATION/lib/strategy \ $ONEFLOW_LOCATION/lib/models" LIB_ECO_CLIENT_DIRS="$LIB_LOCATION/ruby \ $LIB_LOCATION/ruby/opennebula \ $LIB_LOCATION/ruby/cloud/ \ $LIB_LOCATION/ruby/cloud/econe" LIB_OCA_CLIENT_DIRS="$LIB_LOCATION/ruby \ $LIB_LOCATION/ruby/opennebula" LIB_CLI_CLIENT_DIRS="$LIB_LOCATION/ruby/cli \ $LIB_LOCATION/ruby/cli/one_helper" CONF_CLI_DIRS="$ETC_LOCATION/cli" if [ "$CLIENT" = "yes" ]; then MAKE_DIRS="$MAKE_DIRS $LIB_ECO_CLIENT_DIRS \ $LIB_OCA_CLIENT_DIRS $LIB_CLI_CLIENT_DIRS $CONF_CLI_DIRS \ $ETC_LOCATION" elif [ "$ONEGATE" = "yes" ]; then MAKE_DIRS="$MAKE_DIRS $LIB_OCA_CLIENT_DIRS" elif [ "$SUNSTONE" = "yes" ]; then if [ "$SUNSTONE_DEV" = "no" ]; then MAKE_DIRS="$MAKE_DIRS $SUNSTONE_DIRS $SUNSTONE_MINIFIED_DIRS $LIB_OCA_CLIENT_DIRS" else MAKE_DIRS="$MAKE_DIRS $SUNSTONE_DIRS $LIB_OCA_CLIENT_DIRS" fi elif [ "$ONEFLOW" = "yes" ]; then MAKE_DIRS="$MAKE_DIRS $ONEFLOW_DIRS $LIB_OCA_CLIENT_DIRS" elif [ "$SUNSTONE_DEV" = "no" ]; then MAKE_DIRS="$MAKE_DIRS $SHARE_DIRS $ETC_DIRS $LIB_DIRS $VAR_DIRS \ $SUNSTONE_DIRS $SUNSTONE_MINIFIED_DIRS $ONEFLOW_DIRS" else MAKE_DIRS="$MAKE_DIRS $SHARE_DIRS $ETC_DIRS $LIB_DIRS $VAR_DIRS \ $SUNSTONE_DIRS $ONEFLOW_DIRS" fi #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # FILE DEFINITION, WHAT IS GOING TO BE INSTALLED AND WHERE #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- INSTALL_FILES=( BIN_FILES:$BIN_LOCATION INCLUDE_FILES:$INCLUDE_LOCATION LIB_FILES:$LIB_LOCATION RUBY_LIB_FILES:$LIB_LOCATION/ruby RUBY_AUTH_LIB_FILES:$LIB_LOCATION/ruby/opennebula RUBY_OPENNEBULA_LIB_FILES:$LIB_LOCATION/ruby/opennebula MAD_RUBY_LIB_FILES:$LIB_LOCATION/ruby MAD_RUBY_LIB_FILES:$VAR_LOCATION/remotes MAD_SH_LIB_FILES:$LIB_LOCATION/sh MAD_SH_LIB_FILES:$VAR_LOCATION/remotes ONEDB_FILES:$LIB_LOCATION/ruby/onedb ONEDB_SHARED_MIGRATOR_FILES:$LIB_LOCATION/ruby/onedb/shared ONEDB_LOCAL_MIGRATOR_FILES:$LIB_LOCATION/ruby/onedb/local ONEDB_PATCH_FILES:$LIB_LOCATION/ruby/onedb/patches MADS_LIB_FILES:$LIB_LOCATION/mads IM_PROBES_FILES:$VAR_LOCATION/remotes/im IM_PROBES_KVM_FILES:$VAR_LOCATION/remotes/im/kvm.d IM_PROBES_KVM_PROBES_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d IM_PROBES_VCENTER_FILES:$VAR_LOCATION/remotes/im/vcenter.d IM_PROBES_EC2_FILES:$VAR_LOCATION/remotes/im/ec2.d IM_PROBES_AZ_FILES:$VAR_LOCATION/remotes/im/az.d IM_PROBES_VERSION:$VAR_LOCATION/remotes AUTH_SSH_FILES:$VAR_LOCATION/remotes/auth/ssh AUTH_X509_FILES:$VAR_LOCATION/remotes/auth/x509 AUTH_LDAP_FILES:$VAR_LOCATION/remotes/auth/ldap AUTH_SERVER_X509_FILES:$VAR_LOCATION/remotes/auth/server_x509 AUTH_SERVER_CIPHER_FILES:$VAR_LOCATION/remotes/auth/server_cipher AUTH_DUMMY_FILES:$VAR_LOCATION/remotes/auth/dummy AUTH_PLAIN_FILES:$VAR_LOCATION/remotes/auth/plain VMM_EXEC_LIB_FILES:$VAR_LOCATION/remotes/vmm/lib VMM_EXEC_LIB_VCENTER_FILES:$LIB_LOCATION/ruby/vcenter_driver VMM_EXEC_KVM_SCRIPTS:$VAR_LOCATION/remotes/vmm/kvm VMM_EXEC_VCENTER_SCRIPTS:$VAR_LOCATION/remotes/vmm/vcenter VMM_EXEC_EC2_SCRIPTS:$VAR_LOCATION/remotes/vmm/ec2 VMM_EXEC_AZ_SCRIPTS:$VAR_LOCATION/remotes/vmm/az TM_FILES:$VAR_LOCATION/remotes/tm TM_SHARED_FILES:$VAR_LOCATION/remotes/tm/shared TM_FS_LVM_FILES:$VAR_LOCATION/remotes/tm/fs_lvm TM_QCOW2_FILES:$VAR_LOCATION/remotes/tm/qcow2 TM_SSH_FILES:$VAR_LOCATION/remotes/tm/ssh TM_CEPH_FILES:$VAR_LOCATION/remotes/tm/ceph TM_DEV_FILES:$VAR_LOCATION/remotes/tm/dev TM_ISCSI_FILES:$VAR_LOCATION/remotes/tm/iscsi_libvirt TM_DUMMY_FILES:$VAR_LOCATION/remotes/tm/dummy TM_VCENTER_FILES:$VAR_LOCATION/remotes/tm/vcenter DATASTORE_DRIVER_COMMON_SCRIPTS:$VAR_LOCATION/remotes/datastore/ DATASTORE_DRIVER_DUMMY_SCRIPTS:$VAR_LOCATION/remotes/datastore/dummy DATASTORE_DRIVER_FS_SCRIPTS:$VAR_LOCATION/remotes/datastore/fs DATASTORE_DRIVER_CEPH_SCRIPTS:$VAR_LOCATION/remotes/datastore/ceph DATASTORE_DRIVER_DEV_SCRIPTS:$VAR_LOCATION/remotes/datastore/dev DATASTORE_DRIVER_VCENTER_SCRIPTS:$VAR_LOCATION/remotes/datastore/vcenter DATASTORE_DRIVER_ISCSI_SCRIPTS:$VAR_LOCATION/remotes/datastore/iscsi_libvirt MARKETPLACE_DRIVER_HTTP_SCRIPTS:$VAR_LOCATION/remotes/market/http MARKETPLACE_DRIVER_ONE_SCRIPTS:$VAR_LOCATION/remotes/market/one MARKETPLACE_DRIVER_S3_SCRIPTS:$VAR_LOCATION/remotes/market/s3 IPAM_DRIVER_DUMMY_SCRIPTS:$VAR_LOCATION/remotes/ipam/dummy NETWORK_FILES:$VAR_LOCATION/remotes/vnm NETWORK_8021Q_FILES:$VAR_LOCATION/remotes/vnm/802.1Q NETWORK_VXLAN_FILES:$VAR_LOCATION/remotes/vnm/vxlan NETWORK_DUMMY_FILES:$VAR_LOCATION/remotes/vnm/dummy NETWORK_EBTABLES_FILES:$VAR_LOCATION/remotes/vnm/ebtables NETWORK_FW_FILES:$VAR_LOCATION/remotes/vnm/fw NETWORK_OVSWITCH_FILES:$VAR_LOCATION/remotes/vnm/ovswitch NETWORK_VCENTER_FILES:$VAR_LOCATION/remotes/vnm/vcenter EXAMPLE_SHARE_FILES:$SHARE_LOCATION/examples WEBSOCKIFY_SHARE_FILES:$SHARE_LOCATION/websockify ESX_FW_VNC_SHARE_FILES:$SHARE_LOCATION/esx-fw-vnc INSTALL_GEMS_SHARE_FILES:$SHARE_LOCATION ONETOKEN_SHARE_FILE:$SHARE_LOCATION FOLLOWER_CLEANUP_SHARE_FILE:$SHARE_LOCATION HOOK_FT_FILES:$VAR_LOCATION/remotes/hooks/ft HOOK_RAFT_FILES:$VAR_LOCATION/remotes/hooks/raft COMMON_CLOUD_LIB_FILES:$LIB_LOCATION/ruby/cloud CLOUD_AUTH_LIB_FILES:$LIB_LOCATION/ruby/cloud/CloudAuth ECO_LIB_FILES:$LIB_LOCATION/ruby/cloud/econe ECO_LIB_VIEW_FILES:$LIB_LOCATION/ruby/cloud/econe/views ECO_BIN_FILES:$BIN_LOCATION MAN_FILES:$MAN_LOCATION DOCS_FILES:$DOCS_LOCATION CLI_LIB_FILES:$LIB_LOCATION/ruby/cli ONE_CLI_LIB_FILES:$LIB_LOCATION/ruby/cli/one_helper VENDOR_DIRS:$LIB_LOCATION/ruby/vendors ) INSTALL_CLIENT_FILES=( COMMON_CLOUD_CLIENT_LIB_FILES:$LIB_LOCATION/ruby/cloud ECO_LIB_CLIENT_FILES:$LIB_LOCATION/ruby/cloud/econe ECO_BIN_CLIENT_FILES:$BIN_LOCATION COMMON_CLOUD_CLIENT_LIB_FILES:$LIB_LOCATION/ruby/cloud CLI_BIN_FILES:$BIN_LOCATION CLI_LIB_FILES:$LIB_LOCATION/ruby/cli ONE_CLI_LIB_FILES:$LIB_LOCATION/ruby/cli/one_helper CLI_CONF_FILES:$ETC_LOCATION/cli OCA_LIB_FILES:$LIB_LOCATION/ruby RUBY_OPENNEBULA_LIB_FILES:$LIB_LOCATION/ruby/opennebula RUBY_AUTH_LIB_FILES:$LIB_LOCATION/ruby/opennebula ) INSTALL_SUNSTONE_RUBY_FILES=( RUBY_OPENNEBULA_LIB_FILES:$LIB_LOCATION/ruby/opennebula OCA_LIB_FILES:$LIB_LOCATION/ruby ) INSTALL_SUNSTONE_FILES=( SUNSTONE_FILES:$SUNSTONE_LOCATION SUNSTONE_BIN_FILES:$BIN_LOCATION SUNSTONE_MODELS_FILES:$SUNSTONE_LOCATION/models SUNSTONE_MODELS_JSON_FILES:$SUNSTONE_LOCATION/models/OpenNebulaJSON SUNSTONE_VIEWS_FILES:$SUNSTONE_LOCATION/views SUNSTONE_ROUTES_FILES:$SUNSTONE_LOCATION/routes ) INSTALL_SUNSTONE_PUBLIC_MINIFIED_FILES=( SUNSTONE_PUBLIC_JS_FILES:$SUNSTONE_LOCATION/public/dist SUNSTONE_PUBLIC_JS_CONSOLE_FILES:$SUNSTONE_LOCATION/public/dist/console SUNSTONE_PUBLIC_FONT_AWSOME:$SUNSTONE_LOCATION/public/bower_components/fontawesome/fonts SUNSTONE_PUBLIC_CSS_FILES:$SUNSTONE_LOCATION/public/css SUNSTONE_PUBLIC_IMAGES_FILES:$SUNSTONE_LOCATION/public/images SUNSTONE_PUBLIC_LOGOS_FILES:$SUNSTONE_LOCATION/public/images/logos SUNSTONE_PUBLIC_LOCALE_CA:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_CS_CZ:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_DE:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_DA:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_EL_GR:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_EN_US:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_ES_ES:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_FA_IR:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_FR_FR:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_IT_IT:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_JA:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_LT_LT:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_NL_NL:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_PL:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_PT_PT:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_PT_BR:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_RU_RU:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_SK_SK:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_ZH_CN:$SUNSTONE_LOCATION/public/locale/languages ) INSTALL_SUNSTONE_PUBLIC_DEV_DIR=( SUNSTONE_PUBLIC_DEV_DIR:$SUNSTONE_LOCATION ) INSTALL_SUNSTONE_ETC_FILES=( SUNSTONE_ETC_FILES:$ETC_LOCATION SUNSTONE_ETC_VIEW_FILES:$ETC_LOCATION/sunstone-views ) INSTALL_ONEGATE_FILES=( ONEGATE_FILES:$ONEGATE_LOCATION ONEGATE_BIN_FILES:$BIN_LOCATION ) INSTALL_ONEGATE_ETC_FILES=( ONEGATE_ETC_FILES:$ETC_LOCATION ) INSTALL_ONEFLOW_FILES=( ONEFLOW_FILES:$ONEFLOW_LOCATION ONEFLOW_BIN_FILES:$BIN_LOCATION ONEFLOW_LIB_FILES:$ONEFLOW_LOCATION/lib ONEFLOW_LIB_STRATEGY_FILES:$ONEFLOW_LOCATION/lib/strategy ONEFLOW_LIB_MODELS_FILES:$ONEFLOW_LOCATION/lib/models ) INSTALL_ONEFLOW_ETC_FILES=( ONEFLOW_ETC_FILES:$ETC_LOCATION ) INSTALL_ETC_FILES=( ETC_FILES:$ETC_LOCATION EC2_ETC_FILES:$ETC_LOCATION VCENTER_ETC_FILES:$ETC_LOCATION AZ_ETC_FILES:$ETC_LOCATION VMM_EXEC_ETC_FILES:$ETC_LOCATION/vmm_exec HM_ETC_FILES:$ETC_LOCATION/hm AUTH_ETC_FILES:$ETC_LOCATION/auth ECO_ETC_FILES:$ETC_LOCATION ECO_ETC_TEMPLATE_FILES:$ETC_LOCATION/ec2query_templates CLI_CONF_FILES:$ETC_LOCATION/cli ) #------------------------------------------------------------------------------- # Binary files, to be installed under $BIN_LOCATION #------------------------------------------------------------------------------- BIN_FILES="src/nebula/oned \ src/scheduler/src/sched/mm_sched \ src/cli/onevm \ src/cli/oneacct \ src/cli/oneshowback \ src/cli/onehost \ src/cli/onevnet \ src/cli/oneuser \ src/cli/oneimage \ src/cli/onegroup \ src/cli/onetemplate \ src/cli/oneacl \ src/cli/onedatastore \ src/cli/onecluster \ src/cli/onezone \ src/cli/oneflow \ src/cli/oneflow-template \ src/cli/onesecgroup \ src/cli/onevmgroup \ src/cli/onevdc \ src/cli/onevrouter \ src/cli/onemarket \ src/cli/onemarketapp \ src/cli/onevcenter \ src/onedb/onedb \ src/mad/utils/tty_expect \ share/scripts/one" #------------------------------------------------------------------------------- # C/C++ OpenNebula API Library & Development files # Include files, to be installed under $INCLUDE_LOCATION # Library files, to be installed under $LIB_LOCATION #------------------------------------------------------------------------------- INCLUDE_FILES="" LIB_FILES="" #------------------------------------------------------------------------------- # Ruby library files, to be installed under $LIB_LOCATION/ruby #------------------------------------------------------------------------------- RUBY_LIB_FILES="src/mad/ruby/ActionManager.rb \ src/mad/ruby/CommandManager.rb \ src/mad/ruby/OpenNebulaDriver.rb \ src/mad/ruby/VirtualMachineDriver.rb \ src/mad/ruby/DriverExecHelper.rb \ src/mad/ruby/ssh_stream.rb \ src/vnm_mad/one_vnm.rb \ src/oca/ruby/deprecated/OpenNebula.rb \ src/oca/ruby/opennebula.rb \ src/sunstone/OpenNebulaVNC.rb \ src/vmm_mad/remotes/vcenter/vcenter_driver.rb \ src/vmm_mad/remotes/az/az_driver.rb \ src/vmm_mad/remotes/ec2/ec2_driver.rb" #------------------------------------------------------------------------------- # Ruby auth library files, to be installed under $LIB_LOCATION/ruby/opennebula #------------------------------------------------------------------------------- RUBY_AUTH_LIB_FILES="src/authm_mad/remotes/ssh/ssh_auth.rb \ src/authm_mad/remotes/server_x509/server_x509_auth.rb \ src/authm_mad/remotes/server_cipher/server_cipher_auth.rb \ src/authm_mad/remotes/ldap/ldap_auth.rb \ src/authm_mad/remotes/x509/x509_auth.rb" #----------------------------------------------------------------------------- # MAD Script library files, to be installed under $LIB_LOCATION/