コード例 #1
0
ファイル: orange_pi.py プロジェクト: tnt-wolve/fastotv
def install_orange_pi_h3():
    subprocess.call(['modprobe', 'mali'])
    pwd = os.getcwd()
    script_dir = os.path.dirname(os.path.realpath(__file__))
    try:
        cloned_dir = utils.git_clone(
            'https://github.com/linux-sunxi/sunxi-mali.git', pwd)
        os.chdir(cloned_dir)
        subprocess.call(['make', 'config'])
        subprocess.call(['make', 'install'])
        os.chdir(pwd)
        shutil.rmtree(cloned_dir)
    except Exception as ex:
        os.chdir(pwd)
        raise ex

    try:
        cloned_dir = utils.git_clone(
            'https://github.com/fastogt/libvdpau-sunxi.git', pwd)
        os.chdir(cloned_dir)
        subprocess.call(['make', 'install'])
        os.chdir(pwd)
        shutil.rmtree(cloned_dir)
    except Exception as ex:
        os.chdir(pwd)
        raise ex

    with open('/etc/udev/rules.d/50-mali.rules', 'w') as f:
        f.write('KERNEL=="mali", MODE="0660", GROUP="video"\n'
                'KERNEL=="ump", MODE="0660", GROUP="video"')

    with open('/etc/asound.conf', 'w') as f:
        f.write('pcm.!default {\n'
                'type hw\n'
                'card 1\n'
                '}\n'
                'ctl.!default {\n'
                'type hw\n'
                'card 1\n'
                '}')

    standart_egl_path = '/usr/lib/arm-linux-gnueabihf/mesa-egl/'
    if os.path.exists(standart_egl_path):
        shutil.move(standart_egl_path,
                    '/usr/lib/arm-linux-gnueabihf/.mesa-egl/')

    lirc_conf_path = os.path.join(script_dir, 'hardware/lirc/hardware.conf')
    shutil.copy(lirc_conf_path, '/etc/lirc/hardware.conf')
コード例 #2
0
    def build_common(self):
        pwd = os.getcwd()
        cmake_project_root_abs_path = '..'
        if not os.path.exists(cmake_project_root_abs_path):
            raise utils.BuildError('invalid cmake_project_root_path: %s' % cmake_project_root_abs_path)

        # project static options
        prefix_args = '-DCMAKE_INSTALL_PREFIX={0}'.format(self.prefix_path_)

        cmake_line = ['cmake', cmake_project_root_abs_path, '-GUnix Makefiles', '-DCMAKE_BUILD_TYPE=RELEASE',
                      prefix_args]
        try:
            cloned_dir = utils.git_clone('https://github.com/fastogt/common.git', pwd)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            common_cmake_line.append('-DQT_ENABLED=OFF')
            subprocess.call(common_cmake_line)
            subprocess.call(['make', 'install'])
            os.chdir(self.build_dir_path_)
            shutil.rmtree(cloned_dir)
        except Exception as ex:
            os.chdir(self.build_dir_path_)
            raise ex
コード例 #3
0
    def build_rocksdb(self, cmake_line, make_install):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/rocksdb.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            common_cmake_line.append('-DFAIL_ON_WARNINGS=OFF')
            common_cmake_line.append('-DPORTABLE=ON')
            common_cmake_line.append('-DWITH_TESTS=OFF')
            common_cmake_line.append('-DWITH_SNAPPY=ON')
            common_cmake_line.append('-DWITH_ZLIB=ON')
            common_cmake_line.append('-DWITH_LZ4=ON')
            common_cmake_line.append('-DROCKSDB_INSTALL_ON_WINDOWS=ON')
            common_cmake_line.append('-DWITH_TOOLS=OFF')
            common_cmake_line.append('-DWITH_GFLAGS=OFF')
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #4
0
    def build_upscaledb(self, prefix_path):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/upscaledb.git', abs_dir_path)
            os.chdir(cloned_dir)
            bootstrap_policy = run_command.CommonPolicy(print_message)
            bootstrap_upscaledb = ['sh', 'bootstrap.sh']
            run_command.run_command_cb(bootstrap_upscaledb, bootstrap_policy)

            configure_upscaledb = [
                './configure', '--prefix={0}'.format(prefix_path),
                '--disable-remote', '--enable-static-boost',
                '--disable-shared', '--disable-java', '--disable-simd',
                '--disable-encryption'
            ]
            configure_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(configure_upscaledb, configure_policy)

            make_install_upscaledb = ['make', 'install']  # FIXME
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(make_install_upscaledb, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #5
0
    def build_libmemcached(self, prefix_path):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/libmemcached.git', abs_dir_path)
            os.chdir(cloned_dir)

            bootstrap_policy = run_command.CommonPolicy(print_message)
            bootstrap_libmemcached = ['sh', 'bootstrap.sh']
            run_command.run_command_cb(bootstrap_libmemcached,
                                       bootstrap_policy)

            configure_libmemcached = [
                './configure', '--prefix={0}'.format(prefix_path),
                '--disable-shared', '--enable-static', '--enable-sasl'
            ]
            configure_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(configure_libmemcached,
                                       configure_policy)

            make_libmemcached = ['make', 'install']  # FIXME
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(make_libmemcached, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #6
0
    def build_leveldb(self, prefix_path):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/leveldb.git', abs_dir_path)
            os.chdir(cloned_dir)

            make_leveldb = ['make', 'static']  # FIXME
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(make_leveldb, make_policy)

            copy_leveldb_includes = [
                'cp', '-r', 'include/leveldb',
                '{0}/include'.format(prefix_path)
            ]
            copy_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(copy_leveldb_includes, copy_policy)

            copy_leveldb_libs = [
                'cp', 'out-static/libleveldb.a', '{0}/lib'.format(prefix_path)
            ]
            run_command.run_command_cb(copy_leveldb_libs, copy_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #7
0
    def build_jsonc(self, prefix_path):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/json-c.git', abs_dir_path)
            os.chdir(cloned_dir)

            autogen_policy = run_command.CommonPolicy(print_message)
            autogen_jsonc = ['sh', 'autogen.sh']
            run_command.run_command_cb(autogen_jsonc, autogen_policy)

            configure_jsonc = [
                './configure', '--prefix={0}'.format(prefix_path),
                '--disable-shared', '--enable-static'
            ]
            configure_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(configure_jsonc, configure_policy)

            make_jsonc = ['make', 'install']  # FIXME
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(make_jsonc, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #8
0
    def build_libssh2(self, cmake_line, make_install):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/libssh2.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            libssh2_cmake_line = list(cmake_line)
            libssh2_cmake_line.append('-DBUILD_SHARED_LIBS=OFF')
            libssh2_cmake_line.append('-DCRYPTO_BACKEND=OpenSSL')
            libssh2_cmake_line.append('-DENABLE_ZLIB_COMPRESSION=ON')
            libssh2_cmake_line.append('-DZLIB_USE_STATIC=ON')
            libssh2_cmake_line.append('-DOPENSSL_USE_STATIC=ON')
            libssh2_cmake_line.append('-DBUILD_EXAMPLES=OFF')
            libssh2_cmake_line.append('-DBUILD_TESTING=OFF')
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(libssh2_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #9
0
ファイル: build_env.py プロジェクト: ariesw/fastotv
    def build_snappy(self):
        pwd = os.getcwd()
        cmake_project_root_abs_path = '..'
        if not os.path.exists(cmake_project_root_abs_path):
            raise utils.BuildError('invalid cmake_project_root_path: %s' %
                                   cmake_project_root_abs_path)

        # project static options
        prefix_args = '-DCMAKE_INSTALL_PREFIX={0}'.format(self.prefix_path_)

        cmake_line = [
            'cmake', cmake_project_root_abs_path, '-GNinja',
            '-DCMAKE_BUILD_TYPE=RELEASE', '-DBUILD_SHARED_LIBS=OFF',
            '-DSNAPPY_BUILD_TESTS=OFF', prefix_args
        ]
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/snappy.git', pwd)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            snappy_cmake_line = list(cmake_line)
            subprocess.call(snappy_cmake_line)
            subprocess.call(['ninja', 'install'])
            os.chdir(self.build_dir_path_)
            shutil.rmtree(cloned_dir)
        except Exception as ex:
            os.chdir(self.build_dir_path_)
            raise ex
コード例 #10
0
ファイル: build_env.py プロジェクト: Zhangyufei123/fastonosql
    def build_lmdb(self, prefix_path):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone('https://github.com/fastogt/lmdb.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.chdir('libraries/liblmdb')
            make_lmdb = ['make', 'install_static_lib', 'prefix={0}'.format(prefix_path)]  # FIXME
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(make_lmdb, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #11
0
ファイル: build_env.py プロジェクト: ariesw/fastotv
    def build_libev(self):
        libev_compiler_flags = utils.CompileInfo(
            [], ['--with-pic', '--disable-shared', '--enable-static'])

        pwd = os.getcwd()
        cloned_dir = utils.git_clone('https://github.com/fastogt/libev.git',
                                     pwd)
        os.chdir(cloned_dir)

        autogen_libev = ['sh', 'autogen.sh']
        subprocess.call(autogen_libev)

        utils.build_command_configure(libev_compiler_flags, g_script_path,
                                      self.prefix_path_)
        os.chdir(pwd)
        shutil.rmtree(cloned_dir)
コード例 #12
0
ファイル: build_env.py プロジェクト: Zhangyufei123/fastonosql
    def build_unqlite(self, cmake_line, make_install):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone('https://github.com/fastogt/unqlite.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #13
0
ファイル: build_env.py プロジェクト: Zhangyufei123/fastonosql
    def build_qscintilla(self, cmake_line, make_install):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone('https://github.com/fastogt/qscintilla.git', abs_dir_path)
            qsci_src_path = os.path.join(cloned_dir, 'Qt4Qt5')
            os.chdir(qsci_src_path)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            qscintilla_cmake_line = list(cmake_line)
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(qscintilla_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #14
0
ファイル: build_env.py プロジェクト: Zhangyufei123/fastonosql
    def build_forestdb(self, cmake_line, make_install):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone('https://github.com/fastogt/forestdb.git', abs_dir_path, None, False)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            forestdb_cmake_line = list(cmake_line)
            forestdb_cmake_line.append('-DBUILD_SHARED_LIBS=OFF')
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(forestdb_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #15
0
ファイル: build_env.py プロジェクト: ariesw/fastotv
    def build_ffmpeg(self):
        ffmpeg_platform_args = [
            '--disable-doc',
            '--pkg-config-flags=--static',
            '--disable-programs',  #'--enable-openssl',
            '--disable-opencl',
            '--disable-encoders',
            '--disable-lzma',
            '--disable-iconv',
            '--disable-shared',
            '--enable-static',
            '--disable-debug',
            '--disable-jni',
            '--enable-postproc',
            '--enable-filter=yadif',
            '--enable-avfilter',
            '--enable-avcodec',
            '--enable-avdevice',
            '--enable-avformat',
            '--enable-swscale',
            '--enable-swresample',
            '--extra-version=static'
        ]  # '--extra-cflags=--static'
        platform_name = self.platform_.name()
        if platform_name == 'linux':
            ffmpeg_platform_args.extend(['--disable-libxcb'])
        elif platform_name == 'windows':
            ffmpeg_platform_args = ffmpeg_platform_args
        elif platform_name == 'macosx':
            ffmpeg_platform_args.extend(
                ['--cc=clang', '--cxx=clang++', '--disable-libxcb'])

        pwd = os.getcwd()
        compiler_flags = self.device_.ffmpeg_compile_info()
        compiler_flags.extend_flags(ffmpeg_platform_args)
        cloned_dir = utils.git_clone('https://github.com/fastogt/ffmpeg.git',
                                     pwd)
        os.chdir(cloned_dir)
        utils.build_command_configure(compiler_flags, g_script_path,
                                      self.prefix_path_)
        os.chdir(pwd)
        shutil.rmtree(cloned_dir)
コード例 #16
0
    def build_common(self, cmake_line, make_install):
        abs_dir_path = self.build_dir_path_
        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/common.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            common_cmake_line.append('-DQT_ENABLED=ON')
            common_cmake_line.append('-DSNAPPY_USE_STATIC=ON')
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(abs_dir_path)
            raise ex
コード例 #17
0
    def build(self, dir_path, bs, bs_external, prefix_path):
        cmake_project_root_abs_path = '..'
        if not os.path.exists(cmake_project_root_abs_path):
            raise utils.BuildError('invalid cmake_project_root_path: %s' %
                                   cmake_project_root_abs_path)

        if not bs:
            bs = system_info.SUPPORTED_BUILD_SYSTEMS[0]

        if not bs_external:
            bs_external = system_info.SUPPORTED_BUILD_SYSTEMS[1]

        if prefix_path == None:
            prefix_path = self.platform_.arch().default_install_prefix_path()

        abs_dir_path = os.path.abspath(dir_path)
        if os.path.exists(abs_dir_path):
            shutil.rmtree(abs_dir_path)

        is_android = self.platform_.name() == 'android'

        generator = bs.cmake_generator_arg()
        build_system_args = bs.cmd_line()
        # bs_name = bs.name()

        pwd = os.getcwd()
        os.mkdir(abs_dir_path)
        os.chdir(abs_dir_path)

        # project static options
        prefix_args = '-DCMAKE_INSTALL_PREFIX={0}'.format(prefix_path)

        cmake_line = [
            'cmake', cmake_project_root_abs_path, generator,
            '-DCMAKE_BUILD_TYPE=RELEASE', prefix_args
        ]

        if is_android:
            toolchain_path = os.path.join(cmake_project_root_abs_path,
                                          'cmake/android.toolchain.cmake')
            cmake_line.append(
                '-DCMAKE_TOOLCHAIN_FILE={0}'.format(toolchain_path))

        make_install = build_system_args
        make_install.append('install')

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/snappy.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/common.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            common_cmake_line.append('-DQT_ENABLED=ON')
            common_cmake_line.append('-DSNAPPY_USE_STATIC=ON')
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/qscintilla.git', abs_dir_path)
            qsci_src_path = os.path.join(cloned_dir, 'Qt4Qt5')
            os.chdir(qsci_src_path)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            qscintilla_cmake_line = list(cmake_line)
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(qscintilla_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/libssh2.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            libssh2_cmake_line = list(cmake_line)
            libssh2_cmake_line.append('-DBUILD_SHARED_LIBS=OFF')
            libssh2_cmake_line.append('-DCRYPTO_BACKEND=OpenSSL')
            libssh2_cmake_line.append('-DENABLE_ZLIB_COMPRESSION=ON')
            libssh2_cmake_line.append('-DZLIB_USE_STATIC=ON')
            libssh2_cmake_line.append('-DOPENSSL_USE_STATIC=ON')
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(libssh2_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        if is_android:
            return

        build_external_system_args = bs_external.cmd_line()

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/json-c.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/leveldb.git', abs_dir_path)
            os.chdir(cloned_dir)

            make_leveldb = list(build_external_system_args)
            make_leveldb.append('static')
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(make_leveldb, make_policy)

            copy_leveldb_includes = [
                'cp', '-r', 'include/leveldb',
                '{0}/include'.format(prefix_path)
            ]
            copy_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(copy_leveldb_includes, copy_policy)

            copy_leveldb_libs = [
                'cp', 'out-static/libleveldb.a', '{0}/lib'.format(prefix_path)
            ]
            run_command.run_command_cb(copy_leveldb_libs, copy_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/rocksdb.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            common_cmake_line.append('-DFAIL_ON_WARNINGS=OFF')
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/upscaledb.git', abs_dir_path)
            os.chdir(cloned_dir)
            bootstrap_policy = run_command.CommonPolicy(print_message)
            bootstrap_upscaledb = ['sh', 'bootstrap.sh']
            run_command.run_command_cb(bootstrap_upscaledb, bootstrap_policy)

            configure_upscaledb = [
                './configure', '--prefix={0}'.format(prefix_path),
                '--disable-remote', '--enable-static-boost',
                '--disable-shared', '--disable-java', '--disable-encryption'
            ]
            configure_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(configure_upscaledb, configure_policy)

            make_install_upscaledb = list(build_external_system_args)
            make_install_upscaledb.append('install')
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(make_install_upscaledb, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex

        try:
            cloned_dir = utils.git_clone(
                'https://github.com/fastogt/forestdb.git', abs_dir_path)
            os.chdir(cloned_dir)

            os.mkdir('build_cmake_release')
            os.chdir('build_cmake_release')
            common_cmake_line = list(cmake_line)
            cmake_policy = run_command.CmakePolicy(print_message)
            make_policy = run_command.CommonPolicy(print_message)
            run_command.run_command_cb(common_cmake_line, cmake_policy)
            run_command.run_command_cb(make_install, make_policy)
            os.chdir(abs_dir_path)
        except Exception as ex:
            os.chdir(pwd)
            raise ex