def install_build_prerequisites(): if irods_python_ci_utilities.get_distribution() == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages(['python-software-properties']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) irods_python_ci_utilities.install_os_packages(['libstdc++6']) irods_python_ci_utilities.install_os_packages(get_build_prerequisites())
def install_messaging_package(message_broker): if 'apache-activemq-' in message_broker: version_number = message_broker.split('-')[2] tarfile = message_broker + '-bin.tar.gz' url = 'http://archive.apache.org/dist/activemq/' + version_number + '/' + tarfile activemq_dir = message_broker + '/bin/activemq' irods_python_ci_utilities.subprocess_get_output(['wget', url]) irods_python_ci_utilities.subprocess_get_output(['tar', 'xvfz', tarfile]) irods_python_ci_utilities.subprocess_get_output([activemq_dir, 'start']) if 'rabbitmq' in message_broker: if irods_python_ci_utilities.get_distribution() == 'Ubuntu': irods_python_ci_utilities.subprocess_get_output('curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash', shell=True) irods_python_ci_utilities.subprocess_get_output(['wget', 'https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'dpkg', '-i', 'erlang-solutions_1.0_all.deb']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'apt-get', 'update', '-y']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'apt-get', 'install', 'esl-erlang=1:19.3.6', '-y']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'apt-get', 'install', 'rabbitmq-server', '-y']) if irods_python_ci_utilities.get_distribution() == 'Centos' or irods_python_ci_utilities.get_distribution() == 'Centos linux': irods_python_ci_utilities.subprocess_get_output('curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash', shell=True) irods_python_ci_utilities.subprocess_get_output('curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash', shell=True) irods_python_ci_utilities.subprocess_get_output(['sudo', 'yum', 'install', 'erlang', '-y']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'yum', 'install', 'rabbitmq-server', '-y']) if irods_python_ci_utilities.get_distribution_version_major() == '6': irods_python_ci_utilities.subprocess_get_output(['sudo', 'update-rc.d', 'rabbitmq-server', 'defaults']) else: irods_python_ci_utilities.subprocess_get_output(['sudo', 'systemctl', 'enable', 'rabbitmq-server']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'service', 'rabbitmq-server', 'start']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'rabbitmq-plugins', 'enable', 'rabbitmq_amqp1_0'])
def install_build_prerequisites(): global Java_Home irods_python_ci_utilities.install_os_packages(get_build_prerequisites()) java_version_check = re.compile('openjdk version[^\d]*1\.8\.', re.MULTILINE) java_version_text = '\n'.join( irods_python_ci_utilities.subprocess_get_output( ['/usr/bin/java', '-version'])[1:3]) java_real_bin = os.path.realpath('/usr/bin/java') Java_Home = os.path.sep.join((java_real_bin.split(os.path.sep))[:-2]) if not java_version_check.search(java_version_text): raise WrongJavaAsDefault if irods_python_ci_utilities.get_distribution( ) == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages( ['python-software-properties']) irods_python_ci_utilities.subprocess_get_output([ 'sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test' ], check_rc=True) irods_python_ci_utilities.subprocess_get_output([ 'sudo', 'update-java-alternatives', '--set', 'java-1.8.0-openjdk-amd64' ]) irods_python_ci_utilities.install_os_packages(['libstdc++6'])
def install_os_specific_dependencies_apt(): if irods_python_ci_utilities.get_distribution( ) == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages( ['python-software-properties']) irods_python_ci_utilities.subprocess_get_output([ 'sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test' ], check_rc=True) irods_python_ci_utilities.install_os_packages(['libstdc++6']) irods_python_ci_utilities.install_os_packages([ 'fakeroot', 'help2man', 'libbz2-dev', 'libcurl4-gnutls-dev', 'libkrb5-dev', 'libpam0g-dev', 'libssl-dev', 'make', 'python-dev', 'unixodbc', 'unixodbc-dev', 'zlib1g-dev', ])
def install_build_prerequisites_apt(): if irods_python_ci_utilities.get_distribution() == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages(['python-software-properties']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) irods_python_ci_utilities.install_os_packages(['libstdc++6']) irods_python_ci_utilities.install_os_packages(get_build_prerequisites())
def install_building_dependencies_redhat(): base = ['git', 'python-devel', 'help2man', 'unixODBC', 'fuse-devel', 'curl-devel', 'bzip2-devel', 'zlib-devel', 'pam-devel', 'openssl-devel', 'libxml2-devel', 'krb5-devel', 'unixODBC-devel', 'perl-JSON', 'python-psutil', 'fakeroot'] version_specific = { '6': [], '7': ['mysql++-devel'], } ci.install_os_packages(base + version_specific[ci.get_distribution_version_major()])
def install_os_specific_dependencies_yum(): packages_to_install = [ 'bzip2-devel', 'curl-devel', 'fakeroot', 'help2man', 'openssl-devel', 'pam-devel', 'python-devel', 'unixODBC', 'unixODBC-devel', 'zlib-devel', ] if irods_python_ci_utilities.get_distribution_version_major() == '7': packages_to_install.append('mysql++-devel') irods_python_ci_utilities.install_os_packages(packages_to_install)
def install_os_specific_dependencies_apt(): if irods_python_ci_utilities.get_distribution() == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 irods_python_ci_utilities.subprocess_get_output(['sudo', 'apt-get', 'update'], check_rc=True) if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages(['python-software-properties']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) irods_python_ci_utilities.install_os_packages(['libstdc++6']) irods_python_ci_utilities.install_os_packages(['make', 'libssl-dev', 'libxml2-dev', 'libcurl4-gnutls-dev', 'gcc'])
def install_os_specific_dependencies_yum(): packages_to_install = [ 'bzip2-devel', 'curl-devel', 'fakeroot', 'help2man', 'openssl-devel', 'pam-devel', 'python-devel', 'unixODBC', 'unixODBC-devel', 'zlib-devel', ] if irods_python_ci_utilities.get_distribution_version_major() == '7': packages_to_install.append('mysql++-devel') irods_python_ci_utilities.install_os_packages(packages_to_install)
def install_build_prerequisites_apt(): if irods_python_ci_utilities.get_distribution() == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages(['python-software-properties']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) irods_python_ci_utilities.install_os_packages(['libstdc++6']) irods_python_ci_utilities.install_os_packages(get_build_prerequisites()) if irods_python_ci_utilities.get_distribution() == 'Ubuntu': if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.make_symbolic_link_as_root('/usr/lib/libglobus_callout.so.0', '/usr/lib/libglobus_callout.so') irods_python_ci_utilities.make_symbolic_link_as_root('/usr/lib/libglobus_gss_assist.so.3', '/usr/lib/libglobus_gss_assist.so') elif irods_python_ci_utilities.get_distribution_version_major() == '14': irods_python_ci_utilities.make_symbolic_link_as_root('/usr/lib/x86_64-linux-gnu/libglobus_callout.so.0', '/usr/lib/x86_64-linux-gnu/libglobus_callout.so') irods_python_ci_utilities.make_symbolic_link_as_root('/usr/lib/x86_64-linux-gnu/libglobus_gss_assist.so.3', '/usr/lib/x86_64-linux-gnu/libglobus_gss_assist.so') elif irods_python_ci_utilities.get_distribution_version_major() == '16': irods_python_ci_utilities.make_symbolic_link_as_root('/usr/lib/x86_64-linux-gnu/libglobus_callout.so.0', '/usr/lib/x86_64-linux-gnu/libglobus_callout.so') irods_python_ci_utilities.make_symbolic_link_as_root('/usr/lib/x86_64-linux-gnu/libglobus_gss_assist.so.3', '/usr/lib/x86_64-linux-gnu/libglobus_gss_assist.so')
def restart_kerberos_yum(): if irods_python_ci_utilities.get_distribution_version_major() == '6': irods_python_ci_utilities.subprocess_get_output( ['/etc/init.d/krb5kdc', 'restart'], check_rc=True) irods_python_ci_utilities.subprocess_get_output( ['/etc/init.d/kadmin', 'restart'], check_rc=True) irods_python_ci_utilities.subprocess_get_output( ['chkconfig', 'krb5kdc', 'on'], check_rc=True) irods_python_ci_utilities.subprocess_get_output( ['chkconfig', 'kadmin', 'on'], check_rc=True) elif irods_python_ci_utilities.get_distribution_version_major() == '7': irods_python_ci_utilities.subprocess_get_output( ['sudo', 'systemctl', 'restart', 'krb5kdc.service'], check_rc=True) irods_python_ci_utilities.subprocess_get_output( ['sudo', 'systemctl', 'restart', 'kadmin.service'], check_rc=True) else: assert False, 'OS unsupported: ' + irods_python_ci_utilities.get_irods_platform_string( )
def install_build_prerequisites(): irods_python_ci_utilities.subprocess_get_output(['sudo', 'pip', 'install', 'boto3', '--upgrade'], check_rc=True) irods_python_ci_utilities.subprocess_get_output(['sudo', 'pip', 'install', 'minio==6.0.2', '--upgrade'], check_rc=True) irods_python_ci_utilities.subprocess_get_output(['sudo', '-EH', 'pip', 'install', 'unittest-xml-reporting==1.14.0']) if irods_python_ci_utilities.get_distribution() == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages(['python-software-properties']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) irods_python_ci_utilities.install_os_packages(['libstdc++6'])
def get_build_prerequisites_apt(): pre_reqs = [ 'uuid-dev', 'libssl-dev', 'libsasl2-2', 'libsasl2-dev', 'python-dev' ] if irods_python_ci_utilities.get_distribution_version_major() == '12': pre_reqs = pre_reqs + ['openjdk-7-jre'] else: pre_reqs = pre_reqs + ['default-jre'] return get_build_prerequisites_all() + pre_reqs
def install_os_specific_dependencies_apt(): if irods_python_ci_utilities.get_distribution() == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages(['python-software-properties']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) irods_python_ci_utilities.install_os_packages(['libstdc++6']) irods_python_ci_utilities.install_os_packages([ 'fakeroot', 'help2man', 'libbz2-dev', 'libcurl4-gnutls-dev', 'libkrb5-dev', 'libpam0g-dev', 'libssl-dev', 'make', 'python-dev', 'unixodbc', 'unixodbc-dev', 'zlib1g-dev', ])
def install_build_prerequisites(): irods_python_ci_utilities.subprocess_get_output(['sudo', '-EH', 'pip', 'install', 'unittest-xml-reporting==1.14.0']) if irods_python_ci_utilities.get_distribution() == 'Ubuntu': # cmake from externals requires newer libstdc++ on ub12 if irods_python_ci_utilities.get_distribution_version_major() == '12': irods_python_ci_utilities.install_os_packages(['python-software-properties']) irods_python_ci_utilities.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) irods_python_ci_utilities.subprocess_get_output(['sudo', 'update-java-alternatives', '--set', 'java-1.7.0-openjdk-amd64']) irods_python_ci_utilities.install_os_packages(['libstdc++6']) irods_python_ci_utilities.install_os_packages(get_build_prerequisites())
def install_building_dependencies_debian(): ci.install_os_packages(['git', 'g++', 'make', 'python-dev', 'help2man', 'unixodbc', 'libfuse-dev', 'libcurl4-gnutls-dev', 'libbz2-dev', 'zlib1g-dev', 'libpam0g-dev', 'libssl-dev', 'libxml2-dev', 'libkrb5-dev', 'unixodbc-dev', 'libjson-perl', 'python-psutil', 'fakeroot']) if ci.get_distribution_version_major() == '12': ci.install_os_packages(['python-software-properties']) ci.subprocess_get_output(['sudo', 'add-apt-repository', '-y', 'ppa:ubuntu-toolchain-r/test'], check_rc=True) ci.install_os_packages(['libstdc++6'])
def install_testing_dependencies(): ci.subprocess_get_output(['sudo', '-E', 'pip2', 'install', '--upgrade', 'unittest-xml-reporting==1.14.0'], check_rc=True) if not (ci.get_distribution() == 'Ubuntu' and ci.get_distribution_version_major() == '12'): ci.install_os_packages(['python-jsonschema'])
def get_build_prerequisites_apt(): if irods_python_ci_utilities.get_distribution_version_major() == '12': return['openjdk-7-jre']+get_build_prerequisites_all() else: return['default-jre']+get_build_prerequisites_all()
def configure_client_apt(database): if database == 'postgres': irods_python_ci_utilities.subprocess_get_output(['apt-get', 'update'], check_rc=True) irods_python_ci_utilities.install_os_packages( ['postgresql-client', 'odbc-postgresql', 'unixodbc', 'super']) elif database == 'mysql': #pass irods_python_ci_utilities.subprocess_get_output(['apt-get', 'update'], check_rc=True) irods_python_ci_utilities.install_os_packages([ 'mysql-client', 'libpcre3-dev', 'libmysqlclient-dev', 'build-essential', 'libtool', 'autoconf', 'unixodbc' ]) if irods_python_ci_utilities.get_distribution_version_major() == '16': tar_output_dir = tempfile.mkdtemp( prefix='irods_mysql_connector_tar_extraction') irods_python_ci_utilities.subprocess_get_output([ 'tar', 'xf', '/projects/irods/vsphere-testing/externals/mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit.tar.gz', '--directory', tar_output_dir ], check_rc=True) irods_python_ci_utilities.subprocess_get_output([ 'sudo', 'cp', os.path.join( tar_output_dir, 'mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit', 'lib', 'libmyodbc5a.so'), '/usr/lib' ], check_rc=True) irods_python_ci_utilities.subprocess_get_output([ 'sudo', 'cp', os.path.join( tar_output_dir, 'mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit', 'lib', 'libmyodbc5S.so'), '/usr/lib' ], check_rc=True) irods_python_ci_utilities.subprocess_get_output([ 'sudo', 'cp', os.path.join( tar_output_dir, 'mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit', 'lib', 'libmyodbc5w.so'), '/usr/lib' ], check_rc=True) irods_python_ci_utilities.subprocess_get_output([ 'sudo', os.path.join( tar_output_dir, 'mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit', 'bin', 'myodbc-installer'), '-d', '-a', '-n', 'MySQL ODBC 5.3 Unicode Driver', '-t', 'DRIVER=/usr/lib/libmyodbc5w.so;SETUP=/usr/lib/myodbc5S.so' ], check_rc=True) irods_python_ci_utilities.subprocess_get_output([ 'sudo', os.path.join( tar_output_dir, 'mysql-connector-odbc-5.3.7-linux-ubuntu16.04-x86-64bit', 'bin', 'myodbc-installer'), '-d', '-a', '-n', 'MySQL ODBC 5.3 ANSI Driver', '-t', 'DRIVER=/usr/lib/libmyodbc5a.so;SETUP=/usr/lib/myodbc5S.so' ], check_rc=True) elif database == 'oracle': install_oracle_dependencies() install_oracle_client()