def METHOD_NAME(ignore=False):
    if ignore is False:
        if os.path.isfile('/usr/local/bin/metacallcli'):
            print('MetaCall CLI is already installed')
            exit(0)
        pre_install_prompt()
    if os.getuid() != 0:
        print('You need to have root privileges to run this script.')
        exit(-1)
    os.chdir('/tmp/')
    docs = ''  # link to documentation if this script failed to download the cli
    try:
        print('Searching for files ...')
        assets = find_assets([r'metacall-[0-9].[0-9].[0.9]-runtime.tar.gz',
                              r'metacall-[0-9].[0-9].[0.9]-examples.tar.gz'])
        missing_files = [file for file in assets if not os.path.isfile(file.split('/')[-1])]
        if len(missing_files) != 0:
            download(missing_files)
        unpack(assets)
        write_install_log(list(overwrite('/tmp/usr/local/', '/usr/local/')))
        print('\n')
        output, error, code = spawn(['ldconfig', '-n', '-v', '/usr/local/lib/'])
        if code != 0:
            print('Failed to install MetaCall\n{}\n'
                  'please proceed with the manual installation. {}'.format(error.decode('utf-8'), docs))
            exit(1)
        else:
            print(output.decode('utf-8'))
        spawn(['chmod', '+x', '/usr/local/bin/metacallcli'])
        print('\nCleaning things up ...')
        shutil.rmtree('/tmp/usr')
        for file in assets:
            path = '/tmp/' + file.split('/')[-1]
            if os.path.isfile(path):
                os.remove(path)
        print('MetaCall CLI is successfully installed.')
    except ConnectionError:
        print('Downloading process failed, please proceed with the manual installation. {}'.format(docs))
    except tarfile.ExtractError:
        print('Extraction process failed, please proceed with the manual installation. {}'.format(docs))
    except KeyboardInterrupt:
        print('\nCanceled by user.')