Esempio n. 1
0
def add_module_repository(options):
    # does not work yet really...
    config = VikiConfig()
    repositories.clone_module_repository('core', config)
    # install direct dependencies
    install_packages({})
    # install using rosdep, for build dependencies
    dependencies.install_second_level_dependencies()
Esempio n. 2
0
def check_installed_packages():
    """
    Checks for every module that is available,
    if the ROS packages needed for it are installed on the system

    :return: Boolean
    """
    viki_config = VikiConfig()
    missing_packages = get_missing_packages(viki_config)

    if len(missing_packages) > 0:
        print "[WARNING] - There are missing packages for full VIKI support:"
        print "\n".join(map((lambda x: x['name']), missing_packages))
        return False
    else:
        print "[OK] - All ROS package dependencies are met!"
        print "Note: only second level dependencies of already installed packages have been checked"
        return True
Esempio n. 3
0
def install_packages(options):
    """
        Installs packages that the 'check_packages' function determines as missing
        This can either be with apt-get, or git, something else is not yet supported
        :return:
    """
    config = VikiConfig()
    missing_ros_packages = dependencies.get_missing_packages(config)
    if len(missing_ros_packages) == 0:
        print "[OK] - All ROS package dependencies are met, noting to install!"

    missing_aptget_packages = map((lambda x: x['name']),
                                  filter((lambda x: x['type'] == 'apt-get'),
                                         missing_ros_packages))
    missing_vcs_packages = filter((lambda x: x['type'] == 'git'),
                                  missing_ros_packages)

    installation_candidates = dependencies.get_aptget_packages(
        missing_aptget_packages)
    dependencies.start_aptget_installation(installation_candidates)
    dependencies.start_vcs_installation(missing_vcs_packages)