diff --git a/Makefile b/Makefile index 1683f47..22602b9 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ ifeq ($(strip $(FILE_EXISTS)),) else UNINSTALL_FILES:=$(shell cat install.record) endif - + help: @echo "Local Build" @@ -58,6 +58,7 @@ source_deb: deb: rm -rf dist deb_dist python setup.py --command-packages=stdeb.command bdist_deb + cp deb_dist/*.deb . register: python setup.py register @@ -74,4 +75,3 @@ clean: clean_dist -sudo rm -f install.record -sudo rm -rf build -sudo rm -rf yujin_tools.egg-info - diff --git a/rosinstalls/indigo/gopher_bootstrap-devel.rosinstall b/rosinstalls/indigo/gopher_bootstrap-devel.rosinstall index 7828612..b16c9fc 100644 --- a/rosinstalls/indigo/gopher_bootstrap-devel.rosinstall +++ b/rosinstalls/indigo/gopher_bootstrap-devel.rosinstall @@ -19,9 +19,13 @@ # and gopher simulations. - git: { local-name: 'gopher_common', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_common.git'} +# The robot site-configuration +- git: { local-name: 'gopher_siteconf', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_siteconf.git'} + # ROSWeb client nodes - git: { local-name: 'gopher_jobbroker', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_jobbroker.git'} - git: { local-name: 'gopher_iot_webclient', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_iot_webclient.git'} +- git: { local-name: 'gopher_webclients', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_webclients.git'} # The robot web application - git: { local-name: 'gopher_web_ui', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_web_ui.git'} @@ -30,21 +34,35 @@ # Out gopher behaviours and behaviour trees - git: { local-name: 'gopher_crazy_hospital', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_crazy_hospital.git'} +- git: { local-name: 'gopher_cns', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_cns.git'} # The fundamental behaviour trees modules - git: { local-name: 'py_trees_suite', version: 'devel', uri: 'https://github.com/yujinrobot/py_trees_suite'} +# Intelligence modules +- git: { local-name: 'gopher_failure_detector', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_failure_detector.git'} + # Ros 2 Rest -- git: { local-name: 'rostful', version: 'gopher_hotfix', uri: 'https://github.com/asmodehn/rostful.git'} +#- git: { local-name: 'rostful', version: 'gopher-devel', uri: 'https://github.com/asmodehn/rostful.git'} +- git: { local-name: 'rostful', version: 'release/0.2-indigo', uri: 'https://github.com/yujinrobot/rostful.git'} + # Only in case of testing before package release -- git: { local-name: 'catkin_pip', version: 'devel', uri: 'https://github.com/asmodehn/catkin_pip.git'} -- git: { local-name: 'pyros_interfaces_ros', version: 'master', uri: 'https://github.com/asmodehn/pyros-rosinterface.git'} -- git: { local-name: 'pyros_schemas', version: 'master', uri: 'https://github.com/asmodehn/pyros-schemas.git'} -- git: { local-name: 'pyros_msgs', version: 'master', uri: 'https://github.com/asmodehn/pyros-msgs.git'} +#- git: { local-name: 'catkin_pip', version: 'devel', uri: 'https://github.com/asmodehn/catkin_pip.git'} +#- git: { local-name: 'pyros_interfaces_ros', version: 'master', uri: 'https://github.com/asmodehn/pyros-rosinterface.git'} +#- git: { local-name: 'pyros_schemas', version: 'master', uri: 'https://github.com/yujinrobot/pyros-schemas.git'} +#- git: { local-name: 'pyros_msgs', version: 'master', uri: 'https://github.com/yujinrobot/pyros-msgs.git'} +- git: { local-name: 'catkin_pip', version: 'release/0.3-indigo', uri: 'https://github.com/yujinrobot/catkin_pip.git'} +- git: { local-name: 'pyros_interfaces_ros', version: 'release/0.6-indigo', uri: 'https://github.com/yujinrobot/pyros-rosinterface.git'} +- git: { local-name: 'pyros_schemas', version: 'release/0.1.2-indigo', uri: 'https://github.com/yujinrobot/pyros-schemas.git'} +- git: { local-name: 'pyros_msgs', version: 'release/0.1.0-indigo', uri: 'https://github.com/yujinrobot/pyros-msgs.git'} + # for python packages, we need the patches from the rosrelease repo, but we should report fixes upstream... # And be aware of https://github.com/asmodehn/catkin_pip/issues/106 # - git: { local-name: 'pyros', version: 'release/indigo/pyros', uri: 'https://github.com/asmodehn/pyros-rosrelease.git'} # - git: { local-name: 'pyros_config', version: 'release/indigo/pyros_config', uri: 'https://github.com/asmodehn/pyros-config-rosrelease.git'} +# Robot software messages +- git: { local-name: 'rs_msgs', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/rs_msgs.git'} + # Deployment - git: { local-name: 'yujin_ansible', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/yujin_ansible'} @@ -56,7 +74,7 @@ # Until https://github.com/ros-infrastructure/rosdoc_lite/pull/70 is in - git: { local-name: 'rosdoc_lite', version: 'master', uri: 'https://github.com/yujinrobot/rosdoc_lite.git'} # Until we've moved off of indigo (our upstream changes are in, but not in indigo release) -- git: { local-name: 'audio_common', version: 'volume_fix_branch', uri: 'https://github.com/yujinrobot/audio_common.git'} +- git: { local-name: 'audio_common', version: 'master', uri: 'https://github.com/yujinrobot/audio_common.git'} # until we have fixes for the service unloading problem - https://github.com/ros/diagnostics/issues/50 - git: { local-name: 'diagnostics', version: 'handling_unloading_properly', uri: 'https://github.com/yujinrobot/diagnostics.git'} diff --git a/rosinstalls/kinetic.yaml b/rosinstalls/kinetic.yaml new file mode 100644 index 0000000..db5ae63 --- /dev/null +++ b/rosinstalls/kinetic.yaml @@ -0,0 +1,111 @@ +############################################################################### +# Yujin's Rosinstall Index +############################################################################### +# +# Why +# === +# +# We have rosinstalls everywhere...easy to forget/lose track of them. +# +# Quick Start +# =========== +# +# At it's simplest, this is just a key to a url where a rosinstall can be +# found. You can then install the sources into a catkin environment. +# +# e.g. for the ecl key-value pair +# +# ecl: 'https://raw.github.com/stonier/ecl_core/indigo/ecl.rosinstall' +# +# e.g. to download and compile ecl from key-value pair +# +# yujin_init_workspace ~/ecl ecl +# cd ~/ecl +# yujin_init_build . +# yujin_make +# +# Mixins +# ====== +# +# When you use a key-value pair multiply, combine them in a list to form new workspaces. +# Downloading and compiling works in the same way. +# +# e.g. arm_bootstrap: +# +# arm_bootstrap: [_catkin, _dslam_bootstrap, yaml_cpp, respawn] +# +# Adding Index Key-Value Pairs +# ============================ +# +# Just make a pull request and poke Daniel to look at it. +# +############################################################################### + +# rosinstalls indexed multiply below +_dslam: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/dslam.rosinstall' +_dslam_bootstrap: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/dslam_bootstrap.rosinstall' +_catkin: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/catkin.rosinstall' + +# ros core +catkin: [_catkin] +ecto-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/ecto-devel.rosinstall' +ecto-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/ecto-stable.rosinstall' +yaml_cpp: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/yaml_cpp.rosinstall' + +# yujin general +dslam_desktop: [_dslam, 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/dslam_desktop.rosinstall'] +ecl: [ecl-devel] +ecl-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/ecl-devel.rosinstall' +ecl-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/ecl-stable.rosinstall' +hello: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/hello.rosinstall' +qt_ros: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/qt_ros.rosinstall' +respawn: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/respawn.rosinstall' +system_deb_builder: 'https://bitbucket.org/yujinrobot/system_deb_builder/raw/kinetic/system_deb_builder.rosinstall' + +# android +android_complete: [android_core, android_interactions] +android_core: 'https://raw.githubusercontent.com/rosjava/rosjava/indigo/android_core.rosinstall' +android_interactions: 'https://raw.githubusercontent.com/rosjava/rosjava/indigo/android_interactions.rosinstall' + +# arm (mostly cleaning robot) +arm_3rdparty: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/arm_3rdparty.rosinstall' +arm_bootstrap: [_catkin, _dslam_bootstrap, yaml_cpp, respawn] +arm_dslam_cubie: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/arm_dslam_cubie.rosinstall' +pluto: 'https://bitbucket.org/yujinrobot/pluto/raw/hydro-devel/pluto.rosinstall' + +# gopher +gopher-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher-devel.rosinstall' +gopher-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher-stable.rosinstall' +gopher_concert-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_concert-devel.rosinstall' +gopher_concert-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_concert-stable.rosinstall' +gopher_bootstrap-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_bootstrap-devel.rosinstall' +gopher_bootstrap-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_bootstrap-stable.rosinstall' +gopher_desktop-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_desktop-devel.rosinstall' +gopher_desktop-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_desktop-stable.rosinstall' +gopher_messages-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_messages-devel.rosinstall' +gopher_messages-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_messages-stable.rosinstall' +gopher_navigation-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_navigation-devel.rosinstall' +gopher_navigation-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_navigation-stable.rosinstall' +gopher_dslam-devel: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_dslam-devel.rosinstall' +gopher_dslam-stable: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/gopher_dslam-stable.rosinstall' + +# kobuki/turtlebot +kobuki: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/kobuki.rosinstall' +kobuki-core: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/kobuki_core.rosinstall' +turtlebot: 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls/kinetic/turtlebot.rosinstall' + +# graveyarding +ecto: [ecto-devel] +gopher_dslam: [gopher_dslam-devel] +gopher_navigation: [gopher_navigation-devel] +gopher_bootstrap: [gopher_bootstrap-devel] +gopher: [gopher-devel] +gopher_concert: [gopher_concert-devel] +gopher_desktop: [gopher_desktop-devel] +rocon: 'https://raw.github.com/robotics-in-concert/rocon/release/indigo/rocon.rosinstall' +rocon_devel: 'https://raw.github.com/robotics-in-concert/rocon/release/indigo/rocon.rosinstall' +rosjava: 'https://raw.github.com/rosjava/rosjava/indigo/rosjava.rosinstall' +rosjava_minimal: 'https://raw.github.com/rosjava/rosjava/indigo/rosjava_minimal.rosinstall' +rosjava_messages: 'https://raw.github.com/rosjava/rosjava/indigo/rosjava_messages.rosinstall' +world_canvas: 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/world_canvas.rosinstall' + diff --git a/rosinstalls/kinetic/ecl-devel.rosinstall b/rosinstalls/kinetic/ecl-devel.rosinstall new file mode 100644 index 0000000..ef6b488 --- /dev/null +++ b/rosinstalls/kinetic/ecl-devel.rosinstall @@ -0,0 +1,12 @@ +# The ecl is our open source and fundamental c++ library supporting all of our other software +# This includes things like timers, statistics, wrappers for Eigen and Sophus, serial devices, etc etc. +# +# Permissions: open to all - these are open source third party forks. +# +[ +{'git': {'local-name': 'ecl_tools', 'version': 'release/0.61-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_tools.git'}}, +{'git': {'local-name': 'ecl_lite', 'version': 'release/0.61-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_lite.git'}}, +{'git': {'local-name': 'ecl_core', 'version': 'release/0.61-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_core.git'}}, +{'git': {'local-name': 'ecl_navigation', 'version': 'release/0.60-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_navigation.git'}}, +{'git': {'local-name': 'ecl_manipulation', 'version': 'release/0.60-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_manipulation.git'}}, +] diff --git a/rosinstalls/kinetic/ecl-stable.rosinstall b/rosinstalls/kinetic/ecl-stable.rosinstall new file mode 100644 index 0000000..ef6b488 --- /dev/null +++ b/rosinstalls/kinetic/ecl-stable.rosinstall @@ -0,0 +1,12 @@ +# The ecl is our open source and fundamental c++ library supporting all of our other software +# This includes things like timers, statistics, wrappers for Eigen and Sophus, serial devices, etc etc. +# +# Permissions: open to all - these are open source third party forks. +# +[ +{'git': {'local-name': 'ecl_tools', 'version': 'release/0.61-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_tools.git'}}, +{'git': {'local-name': 'ecl_lite', 'version': 'release/0.61-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_lite.git'}}, +{'git': {'local-name': 'ecl_core', 'version': 'release/0.61-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_core.git'}}, +{'git': {'local-name': 'ecl_navigation', 'version': 'release/0.60-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_navigation.git'}}, +{'git': {'local-name': 'ecl_manipulation', 'version': 'release/0.60-indigo-kinetic', 'uri':'https://github.com/stonier/ecl_manipulation.git'}}, +] diff --git a/rosinstalls/kinetic/ecto-devel.rosinstall b/rosinstalls/kinetic/ecto-devel.rosinstall new file mode 100644 index 0000000..64e9d59 --- /dev/null +++ b/rosinstalls/kinetic/ecto-devel.rosinstall @@ -0,0 +1,13 @@ +# Forks of the open source ecto pipeline +# +# Permissions: open to all - these are open source third party forks. +# + +# - git: {local-name: ecto, version: master, uri: 'https://github.com/plasmodic/ecto.git'} +- git: {local-name: ecto_ros, version: kinetic-devel, uri: 'https://github.com/yujinrobot/ecto_ros.git'} +- git: {local-name: ecto_opencv, version: kinetic-devel, uri: 'https://github.com/yujinrobot/ecto_opencv.git'} + +- git: {local-name: cv_backports, version: kinetic-devel, uri: 'https://github.com/yujinrobot/cv_backports.git'} +- git: {local-name: opencv_candidate, version: kinetic-devel, uri: 'https://github.com/yujinrobot/opencv_candidate.git'} +- git: {local-name: vision_opencv, version: kinetic-devel, uri: 'https://github.com/yujinrobot/vision_opencv.git'} +- git: {local-name: xdot, version: master, uri: 'https://github.com/jbohren/xdot.git'} diff --git a/rosinstalls/kinetic/ecto-stable.rosinstall b/rosinstalls/kinetic/ecto-stable.rosinstall new file mode 100644 index 0000000..a5aba69 --- /dev/null +++ b/rosinstalls/kinetic/ecto-stable.rosinstall @@ -0,0 +1,5 @@ +- git: {local-name: ecto, version: release/0.6-indigo, uri: 'https://github.com/stonier/ecto.git'} +- git: {local-name: ecto_ros, version: release/0.4-indigo, uri: 'https://github.com/stonier/ecto_ros.git'} +- git: {local-name: ecto_opencv, version: release/0.5-indigo, uri: 'https://github.com/stonier/ecto_opencv.git'} + +- git: {local-name: cv_backports, version: indigo, uri: 'https://github.com/stonier/cv_backports.git'} diff --git a/rosinstalls/kinetic/gopher-devel.rosinstall b/rosinstalls/kinetic/gopher-devel.rosinstall new file mode 100644 index 0000000..6a316e1 --- /dev/null +++ b/rosinstalls/kinetic/gopher-devel.rosinstall @@ -0,0 +1,25 @@ +# Description +# +# Software that specifically runs on a gopher robot. This software is not intended and typically unusable on the desktop. +# +# Permissions: open to all gopher developers - primarily so they all have access to gopher_robot (launchers and params) +# + +# Mostly for gopher_robot which contains all launchers and parameterisations for bringing up a gopher robot. +# Also includes a few other essentials such as the remote gopher utilities. +- git: { local-name: 'gopher', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher.git'} + +# Calibration software (mostly for the 2d/3d sensors) +- git: { local-name: 'gopher_calibration', version: 'kinetic-devel', uri: 'https://bitbucket.org/yujinrobot/gopher_calibration.git'} + +# Drivers +- git: { local-name: 'somanet_driver', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/somanet_driver.git'} +- git: { local-name: 'rplidar_ros', version: 'devel', uri: 'https://github.com/yujinrobot/rplidar_ros.git'} +- git: { local-name: 'rplidar_extras', version: 'devel', uri: 'https://github.com/yujinrobot/rplidar_extras.git'} +- git: { local-name: 'astra_camera', version: 'filter_library_custom', uri: 'https://github.com/yujinrobot/ros_astra_camera.git'} +- git: { local-name: 'tim510_ros', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/tim510_ros.git'} + +# Used to enable retrieval of the 'recommended' firmware version that should be run with this gopher sdk +- git: { local-name: 'somanet_firmware', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/somanet_firmware.git'} + + diff --git a/rosinstalls/kinetic/gopher-stable.rosinstall b/rosinstalls/kinetic/gopher-stable.rosinstall new file mode 100644 index 0000000..59e0f89 --- /dev/null +++ b/rosinstalls/kinetic/gopher-stable.rosinstall @@ -0,0 +1,22 @@ +# Description +# +# Software that specifically runs on a gopher robot. This software is not intended and typically unusable on the desktop. +# +# Permissions: open to all gopher developers - primarily so they all have access to gopher_robot (launchers and params) +# + +# Mostly for gopher_robot which contains all launchers and parameterisations for bringing up a gopher robot. +# Also includes a few other essentials such as the remote gopher utilities. +- git: { local-name: 'gopher', version: 'release/0.7-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher.git'} + +# Calibration software (mostly for the 2d/3d sensors) +- git: { local-name: 'gopher_calibration', version: 'release/0.3-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_calibration.git'} + +# Drivers +- git: { local-name: 'somanet_driver', version: 'release/0.3-indigo', uri: 'https://bitbucket.org/yujinrobot/somanet_driver.git'} +- git: { local-name: 'rplidar_ros', version: 'release/1.6-indigo', uri: 'https://github.com/yujinrobot/rplidar_ros.git'} +- git: { local-name: 'rplidar_extras', version: 'release/1.1-indigo', uri: 'https://github.com/yujinrobot/rplidar_extras.git'} +- git: { local-name: 'astra_camera', version: 'filter_library_frozen', uri: 'https://github.com/yujinrobot/ros_astra_camera.git'} + +# Used to enable retrieval of the 'recommended' firmware version that should be run with this gopher sdk +- git: { local-name: 'somanet_firmware', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/somanet_firmware.git'} diff --git a/rosinstalls/kinetic/gopher_bootstrap-devel.rosinstall b/rosinstalls/kinetic/gopher_bootstrap-devel.rosinstall new file mode 100644 index 0000000..b16c9fc --- /dev/null +++ b/rosinstalls/kinetic/gopher_bootstrap-devel.rosinstall @@ -0,0 +1,82 @@ +# Software for bootstrapping robot/simulation/concert/desktop software, no direct hardware dependencies here! +# +# Permissions: open to all gopher developers - primarily so they all have access to gopher_bootstrap (launchers and params) +# +# Dynamic reconfiguration host for dynamic reconfigure servers that need to be shared across the whole system +# A bit like the generic ros param server, but for dynamic reconfigurable parameters +- git: { local-name: 'feed_the_troll', version: 'devel', uri: 'https://github.com/stonier/feed_the_troll.git'} + +# The application and interactions framework +# Tools many useful python modules used pretty much everywhere, bit like the ecl of python for us +- git: { local-name: 'rocon_tools', version: 'devel', uri: 'https://github.com/robotics-in-concert/rocon_tools.git'} +- git: { local-name: 'rocon_app_platform', version: 'devel', uri: 'https://github.com/robotics-in-concert/rocon_app_platform.git'} +- git: { local-name: 'gopher_rapps', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_rapps.git'} + +# Version and changelog for the gopher sdk +- git: { local-name: 'gopher_version', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_version.git'} + +# Has the very important gopher_bootstrap which includes common parameterisations and launchers for gopher robots +# and gopher simulations. +- git: { local-name: 'gopher_common', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_common.git'} + +# The robot site-configuration +- git: { local-name: 'gopher_siteconf', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_siteconf.git'} + +# ROSWeb client nodes +- git: { local-name: 'gopher_jobbroker', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_jobbroker.git'} +- git: { local-name: 'gopher_iot_webclient', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_iot_webclient.git'} +- git: { local-name: 'gopher_webclients', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_webclients.git'} + +# The robot web application +- git: { local-name: 'gopher_web_ui', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_web_ui.git'} +- git: { local-name: 'gopher_robot_restful', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_robot_restful'} +- git: { local-name: 'gopher_web_releases', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_web_releases'} + +# Out gopher behaviours and behaviour trees +- git: { local-name: 'gopher_crazy_hospital', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_crazy_hospital.git'} +- git: { local-name: 'gopher_cns', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_cns.git'} +# The fundamental behaviour trees modules +- git: { local-name: 'py_trees_suite', version: 'devel', uri: 'https://github.com/yujinrobot/py_trees_suite'} + +# Intelligence modules +- git: { local-name: 'gopher_failure_detector', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_failure_detector.git'} + +# Ros 2 Rest +#- git: { local-name: 'rostful', version: 'gopher-devel', uri: 'https://github.com/asmodehn/rostful.git'} +- git: { local-name: 'rostful', version: 'release/0.2-indigo', uri: 'https://github.com/yujinrobot/rostful.git'} + +# Only in case of testing before package release +#- git: { local-name: 'catkin_pip', version: 'devel', uri: 'https://github.com/asmodehn/catkin_pip.git'} +#- git: { local-name: 'pyros_interfaces_ros', version: 'master', uri: 'https://github.com/asmodehn/pyros-rosinterface.git'} +#- git: { local-name: 'pyros_schemas', version: 'master', uri: 'https://github.com/yujinrobot/pyros-schemas.git'} +#- git: { local-name: 'pyros_msgs', version: 'master', uri: 'https://github.com/yujinrobot/pyros-msgs.git'} +- git: { local-name: 'catkin_pip', version: 'release/0.3-indigo', uri: 'https://github.com/yujinrobot/catkin_pip.git'} +- git: { local-name: 'pyros_interfaces_ros', version: 'release/0.6-indigo', uri: 'https://github.com/yujinrobot/pyros-rosinterface.git'} +- git: { local-name: 'pyros_schemas', version: 'release/0.1.2-indigo', uri: 'https://github.com/yujinrobot/pyros-schemas.git'} +- git: { local-name: 'pyros_msgs', version: 'release/0.1.0-indigo', uri: 'https://github.com/yujinrobot/pyros-msgs.git'} + +# for python packages, we need the patches from the rosrelease repo, but we should report fixes upstream... +# And be aware of https://github.com/asmodehn/catkin_pip/issues/106 +# - git: { local-name: 'pyros', version: 'release/indigo/pyros', uri: 'https://github.com/asmodehn/pyros-rosrelease.git'} +# - git: { local-name: 'pyros_config', version: 'release/indigo/pyros_config', uri: 'https://github.com/asmodehn/pyros-config-rosrelease.git'} + +# Robot software messages +- git: { local-name: 'rs_msgs', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/rs_msgs.git'} + +# Deployment +- git: { local-name: 'yujin_ansible', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/yujin_ansible'} + +# Environment Integrations +# doors is only for documentation builds for now...its along way out of date and we dont use it +# - git: { local-name: 'door_interactions', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/door_interactions.git'} +- git: { local-name: 'elevator_interactions', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/elevator_interactions.git'} + +# Until https://github.com/ros-infrastructure/rosdoc_lite/pull/70 is in +- git: { local-name: 'rosdoc_lite', version: 'master', uri: 'https://github.com/yujinrobot/rosdoc_lite.git'} +# Until we've moved off of indigo (our upstream changes are in, but not in indigo release) +- git: { local-name: 'audio_common', version: 'master', uri: 'https://github.com/yujinrobot/audio_common.git'} +# until we have fixes for the service unloading problem - https://github.com/ros/diagnostics/issues/50 +- git: { local-name: 'diagnostics', version: 'handling_unloading_properly', uri: 'https://github.com/yujinrobot/diagnostics.git'} + +# Documentation about the groot workspaces +- git: { local-name: 'groot_workspaces', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/groot_workspaces.git'} diff --git a/rosinstalls/kinetic/gopher_bootstrap-stable.rosinstall b/rosinstalls/kinetic/gopher_bootstrap-stable.rosinstall new file mode 100644 index 0000000..0f067ae --- /dev/null +++ b/rosinstalls/kinetic/gopher_bootstrap-stable.rosinstall @@ -0,0 +1,63 @@ +# == Overview == +# Software for bootstrapping robot/simulation/concert/desktop software, no direct hardware dependencies here! +# +# Permissions: open to all gopher developers - primarily so they all have access to gopher_bootstrap (launchers and params) +# +# Dynamic reconfiguration host for dynamic reconfigure servers that need to be shared across the whole system +# A bit like the generic ros param server, but for dynamic reconfigurable parameters +- git: { local-name: 'feed_the_troll', version: 'release/0.1-indigo-kinetic', uri: 'https://github.com/stonier/feed_the_troll.git'} + +# The application and interactions framework +# Tools many useful python modules used pretty much everywhere, bit like the ecl of python for us +- git: { local-name: 'rocon_tools', version: 'release/0.6-indigo-gopher', uri: 'https://github.com/robotics-in-concert/rocon_tools.git'} +- git: { local-name: 'rocon_app_platform', version: 'release/0.10-indigo-gopher', uri: 'https://github.com/robotics-in-concert/rocon_app_platform.git'} +- git: { local-name: 'gopher_rapps', version: 'release/0.2-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_rapps.git'} + +# Version and changelog for the gopher sdk +- git: { local-name: 'gopher_version', version: 'release/1.9-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_version.git'} + +# Has the very important gopher_bootstrap which includes common parameterisations and launchers for gopher robots +# and gopher simulations. +- git: { local-name: 'gopher_common', version: 'release/0.7-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_common.git'} + +# The robot web application +- git: { local-name: 'gopher_web_ui', version: 'release/0.4', uri: 'https://bitbucket.org/yujinrobot/gopher_web_ui.git'} +- git: { local-name: 'gopher_robot_restful', version: 'release/0.3', uri: 'https://bitbucket.org/yujinrobot/gopher_robot_restful'} +- git: { local-name: 'gopher_web_releases', version: 'release/0.1', uri: 'https://bitbucket.org/yujinrobot/gopher_web_releases'} + +# Out gopher behaviours and behaviour trees +- git: { local-name: 'gopher_crazy_hospital', version: 'release/0.4-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_crazy_hospital.git'} +# The fundamental behaviour trees modules +- git: { local-name: 'py_trees_suite', version: 'release/0.4-indigo-kinetic', uri: 'https://github.com/stonier/py_trees_suite'} + +# Ros 2 Rest +- git: { local-name: 'catkin_pip', version: '0.1.18', uri: 'https://github.com/asmodehn/catkin_pip.git'} +- git: { local-name: 'rostful', version: '0.1.0', uri: 'https://github.com/asmodehn/rostful.git'} +- git: { local-name: 'pyros', version: 'ros-0.3.1', uri: 'https://github.com/asmodehn/pyros.git'} +# Only in case of testing before package release +- git: { local-name: 'pyros_schemas', version: '9e3debe4289eaddb84562d0cdc9f431f8d929685', uri: 'https://github.com/asmodehn/pyros-schemas.git'} +- git: { local-name: 'pyros_msgs', version: '2e0fe0e07867a8b3a77ed9647d5a4017975aff09', uri: 'https://github.com/asmodehn/pyros-msgs.git'} + +# Ros 2 Concert communications (hopefully deprecating sometime) +- git: { local-name: 'rocon_multimaster', version: 'release/0.9-indigo-gopher', uri: 'https://github.com/robotics-in-concert/rocon_multimaster.git'} + +# Scheduling and Jobs +- git: { local-name: 'celeros', version: '0.1.0', uri: 'https://github.com/asmodehn/celeros.git'} + +# Deployment +- git: { local-name: 'yujin_ansible', version: '0.1.15', uri: 'https://bitbucket.org/yujinrobot/yujin_ansible'} + +# Environment Integrations +# doors is only for documentation builds for now...its along way out of date and we dont use it +# - git: { local-name: 'door_interactions', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/door_interactions.git'} +- git: { local-name: 'elevator_interactions', version: 'release/0.3-indigo', uri: 'https://bitbucket.org/yujinrobot/elevator_interactions.git'} + +# Until https://github.com/ros-infrastructure/rosdoc_lite/pull/70 is in +- git: { local-name: 'rosdoc_lite', version: 'master', uri: 'https://github.com/yujinrobot/rosdoc_lite.git'} +# Until we've moved off of indigo (our upstream changes are in, but not in indigo release) +- git: { local-name: 'audio_common', version: 'master', uri: 'https://github.com/yujinrobot/audio_common.git'} +# until we have fixes for the service unloading problem - https://github.com/ros/diagnostics/issues/50 +- git: { local-name: 'diagnostics', version: 'handling_unloading_properly', uri: 'https://github.com/yujinrobot/diagnostics.git'} + +# Documentation about the groot workspaces +- git: { local-name: 'groot_workspaces', version: 'release/0.1-indigo', uri: 'https://bitbucket.org/yujinrobot/groot_workspaces.git'} diff --git a/rosinstalls/kinetic/gopher_concert-devel.rosinstall b/rosinstalls/kinetic/gopher_concert-devel.rosinstall new file mode 100644 index 0000000..c1da1ea --- /dev/null +++ b/rosinstalls/kinetic/gopher_concert-devel.rosinstall @@ -0,0 +1,17 @@ +# Gopher specific concert development (note there are alot of libraries in bootstrap that are used by the robot and +# concert). +# +# Permissions: open to all gopher developers - no rocket science here yet, but usually just the concert developers. +# + +# Supporting tools from old Rocon +- git: { local-name: 'rocon_concert', version: 'devel', uri: 'https://github.com/robotics-in-concert/rocon_concert.git'} +#- git: { local-name: 'rocon_tutorials', version: 'devel', uri: 'https://github.com/robotics-in-concert/rocon_tutorials.git'} + +# Gopher specific requirements +- git: { local-name: 'gopher_concert', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_concert.git'} +# Removing : Not used any more +# - git: { local-name: 'flask_task_planner', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/flask-task-planner.git'} + +# REST API specification for the gopher concert +- git: { local-name: 'gopher_concert_restful', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_concert_restful'} diff --git a/rosinstalls/kinetic/gopher_concert-stable.rosinstall b/rosinstalls/kinetic/gopher_concert-stable.rosinstall new file mode 100644 index 0000000..9b1f355 --- /dev/null +++ b/rosinstalls/kinetic/gopher_concert-stable.rosinstall @@ -0,0 +1,16 @@ +# Gopher specific concert development (note there are alot of libraries in bootstrap that are used by the robot and +# concert). +# +# Permissions: open to all gopher developers - no rocket science here yet, but usually just the concert developers. +# + +# Supporting tools from old Rocon +- git: { local-name: 'rocon_concert', version: 'release/0.9-indigo-gopher', uri: 'https://github.com/robotics-in-concert/rocon_concert.git'} +- git: { local-name: 'rocon_tutorials', version: 'release/0.8-indigo-gopher', uri: 'https://github.com/robotics-in-concert/rocon_tutorials.git'} + +# Gopher specific requirements +- git: { local-name: 'gopher_concert', version: 'release/0.4', uri: 'https://bitbucket.org/yujinrobot/gopher_concert.git'} +- git: { local-name: 'flask_task_planner', version: 'release/0.3', uri: 'https://bitbucket.org/yujinrobot/flask-task-planner.git'} + +# REST API specification for the gopher concert +- git: { local-name: 'gopher_concert_restful', version: 'release/0.3', uri: 'https://bitbucket.org/yujinrobot/gopher_concert_restful'} diff --git a/rosinstalls/kinetic/gopher_desktop-devel.rosinstall b/rosinstalls/kinetic/gopher_desktop-devel.rosinstall new file mode 100644 index 0000000..3df20f5 --- /dev/null +++ b/rosinstalls/kinetic/gopher_desktop-devel.rosinstall @@ -0,0 +1,19 @@ +# == Overview == +# +# Software for simulations and remote/visual interactions with gopher robots. We all share in the development and maintenance +# these packages. +# +# Permissions: open to all gopher developers - it's all dev/admin tools and no rocket science here +# + +# Gopher podium/stage/gazebo simulations and rviz, rqt plugins +- git: { local-name: 'gopher_desktop', version: 'kinetic-devel', uri: 'https://bitbucket.org/yujinrobot/gopher_desktop.git'} + +# Has the rocon remocon +- git: { local-name: 'rocon_qt_gui', version: 'kinetic-devel', uri: 'https://github.com/robotics-in-concert/rocon_qt_gui.git'} + +# Enabling library that keeps rqt gui's open even if the robot goes up and down +- git: { local-name: 'rqt_wrapper', version: 'devel', uri: 'https://github.com/stonier/rqt_wrapper.git'} + +# Visualisation for behaviour trees +- git: { local-name: 'rqt_py_trees', version: 'devel', uri: 'https://github.com/yujinrobot/rqt_py_trees.git'} diff --git a/rosinstalls/kinetic/gopher_desktop-stable.rosinstall b/rosinstalls/kinetic/gopher_desktop-stable.rosinstall new file mode 100644 index 0000000..4f95826 --- /dev/null +++ b/rosinstalls/kinetic/gopher_desktop-stable.rosinstall @@ -0,0 +1,23 @@ +# == Overview == +# +# Software for simulations and remote/visual interactions with gopher robots. We all share in the development and maintenance +# these packages. +# +# Permissions: open to all gopher developers - it's all dev/admin tools and no rocket science here +# + +# Gopher podium/stage/gazebo simulations and rviz, rqt plugins +- git: { local-name: 'gopher_desktop', version: 'release/0.7-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_desktop.git'} + +# Has the rocon remocon +- git: { local-name: 'rocon_qt_gui', version: 'release/0.9-kinetic', uri: 'https://github.com/robotics-in-concert/rocon_qt_gui.git'} + +# Enabling library that keeps rqt gui's open even if the robot goes up and down +- git: { local-name: 'rqt_wrapper', version: 'release/0.1-kinetic', uri: 'https://github.com/stonier/rqt_wrapper.git'} + +# Visualisation for behaviour trees +- git: { local-name: 'rqt_py_trees', version: 'release/0.2-indigo-kinetic', uri: 'https://github.com/stonier/rqt_py_trees.git'} + +# A really nice plotting tool! +# Awaiting https://github.com/ethz-asl/rqt_multiplot_plugin/pull/10 +#- git: { local-name: 'rqt_multiplot_plugin', version: 'release/0.1-indigo', uri: 'https://github.com/yujinrobot/rqt_multiplot_plugin.git'} diff --git a/rosinstalls/kinetic/gopher_dslam-devel.rosinstall b/rosinstalls/kinetic/gopher_dslam-devel.rosinstall new file mode 100644 index 0000000..2fe1252 --- /dev/null +++ b/rosinstalls/kinetic/gopher_dslam-devel.rosinstall @@ -0,0 +1,25 @@ +# Localisation related sources. +# +# Permissions: closed - localisation team only since this contains the sensitive dslam IP +# + +# Bags and scripts to run dslam mapping/navigation experiments +- git: {local-name: dslam_bag, version: devel, uri: 'https://bitbucket.org/yujinrobot/dslam_bag.git'} + +# The core dslam library (no gui needed) +- git: {local-name: dslam, version: kinetic-devel, uri: 'https://bitbucket.org/yujinrobot/dslam.git'} +# Ecto pipeline, map utilities and viewers for dslam +- git: {local-name: dslam_desktop, version: kinetic-devel, uri: 'https://bitbucket.org/yujinrobot/dslam_desktop.git'} +# Map version information only +- git: {local-name: dslam_map_version, version: devel, uri: 'https://bitbucket.org/yujinrobot/dslam_map_version.git'} +# Supporting qglv widgets and algorithms to create dslam viewers +- git: {local-name: qglv_toolkit, version: kinetic-devel, uri: 'https://github.com/yujinrobot/qglv_toolkit.git'} +# Localisation framework, includes initialisation methods with AR markers +- git: {local-name: elf, version: kinetic-devel, uri: 'https://bitbucket.org/yujinrobot/elf.git'} + +# Open source releases that are often changing +# support library for mixing ros and sophus +# - git: {local-name: 'sophus_ros_toolkit', version: 'devel', uri: 'https://github.com/stonier/sophus_ros_toolkit.git'} +# Yujin libraries +- git: { local-name: 'shield', version: 'kinetic-devel', uri: 'https://bitbucket.org/yujinrobot/shield.git'} + diff --git a/rosinstalls/kinetic/gopher_dslam-stable.rosinstall b/rosinstalls/kinetic/gopher_dslam-stable.rosinstall new file mode 100644 index 0000000..0f7d842 --- /dev/null +++ b/rosinstalls/kinetic/gopher_dslam-stable.rosinstall @@ -0,0 +1,27 @@ +# Localisation related sources. +# +# Permissions: closed - localisation team only since this contains the sensitive dslam IP +# + +# Bags and scripts to run dslam mapping/navigation experiments +- git: {local-name: dslam_bag, version: release/0.5-indigo, uri: 'https://bitbucket.org/yujinrobot/dslam_bag.git'} + +# The core dslam library (no gui needed) +- git: {local-name: dslam, version: release/0.7-indigo, uri: 'https://bitbucket.org/yujinrobot/dslam.git'} +# Ecto pipeline, map utilities and viewers for dslam +- git: {local-name: dslam_desktop, version: release/0.7-indigo, uri: 'https://bitbucket.org/yujinrobot/dslam_desktop.git'} +# Map version information only +- git: {local-name: dslam_map_version, version: release/0.5-indigo, uri: 'https://bitbucket.org/yujinrobot/dslam_map_version.git'} +# Library to filter the raw data from the new bosch gyro +- git: {local-name: imu, version: release/0.1-indigo, uri: 'https://bitbucket.org/yujinrobot/imu.git'} +# Supporting qglv widgets and algorithms to create dslam viewers +- git: {local-name: qglv_toolkit, version: release/0.1-indigo, uri: 'https://github.com/yujinrobot/qglv_toolkit.git'} +# Localisation framework, includes initialisation methods with AR markers +- git: {local-name: elf, version: release/0.5-indigo, uri: 'https://bitbucket.org/yujinrobot/elf.git'} +# Open source releases that are often changing +# support library for mixing ros and sophus +- git: {local-name: 'sophus_ros_toolkit', version: release/0.1-indigo, uri: 'https://github.com/stonier/sophus_ros_toolkit.git'} + +# communication libraries between the gopher sbc and the dslam boards +# - git: {local-name: message_multiplexing, version: indigo, uri: 'https://github.com/stonier/message_multiplexing.git'} +# - git: {local-name: nanomsg, version: indigo, uri: 'https://github.com/stonier/nanomsg.git'} diff --git a/rosinstalls/kinetic/gopher_messages-devel.rosinstall b/rosinstalls/kinetic/gopher_messages-devel.rosinstall new file mode 100644 index 0000000..c8fe712 --- /dev/null +++ b/rosinstalls/kinetic/gopher_messages-devel.rosinstall @@ -0,0 +1,26 @@ +# == Overview == +# +# Absolutely lowest level software that should easily run everywhere, and is mostly required everywhere +# +# - messages +# - parameters +# +# A tip about where to put .msg, .srv and .cfg types - generally dump most things into gopher_msgs unless +# it needs to be open sourced OR has a necessary reason to be split off. +# +# Permissions: open to all gopher developers, these represent the api we all share +# + +- git: { local-name: 'environment_interactions_msgs', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/environment_interactions_msgs.git'} +- git: { local-name: 'gopher_msgs', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_msgs.git'} +- git: { local-name: 'py_trees_msgs', version: 'devel', uri: 'https://github.com/yujinrobot/py_trees_msgs.git'} +- git: { local-name: 'rocon_msgs', version: 'devel', uri: 'https://github.com/robotics-in-concert/rocon_msgs.git'} +- git: { local-name: 'somanet_msgs', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/somanet_msgs.git'} +- git: { local-name: 'yocs_msgs', version: 'devel', uri: 'https://github.com/yujinrobot/yocs_msgs.git'} +- git: { local-name: 'feed_the_troll_msgs', version: 'devel', uri: 'https://github.com/stonier/feed_the_troll_msgs.git'} + +# A convenient library that helps us centralise the gargantuan number of parameterisations and remaps we do +# Very heavily used by the gopher behaviour trees. +- git: { local-name: 'gopher_configuration', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_configuration.git'} + + diff --git a/rosinstalls/kinetic/gopher_messages-stable.rosinstall b/rosinstalls/kinetic/gopher_messages-stable.rosinstall new file mode 100644 index 0000000..e85fd91 --- /dev/null +++ b/rosinstalls/kinetic/gopher_messages-stable.rosinstall @@ -0,0 +1,25 @@ +# == Overview == +# +# Absolutely lowest level software that should easily run everywhere, and is mostly required everywhere +# +# - messages +# - parameters +# +# A tip about where to put .msg, .srv and .cfg types - generally dump most things into gopher_msgs unless +# it needs to be open sourced OR has a necessary reason to be split off. +# +# Permissions: open to all gopher developers, these represent the api we all share + +# Messages +- git: { local-name: 'environment_interactions_msgs', version: 'release/0.1-indigo', uri: 'https://bitbucket.org/yujinrobot/environment_interactions_msgs.git'} +- git: { local-name: 'gopher_msgs', version: 'release/0.5-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_msgs.git'} +- git: { local-name: 'py_trees_msgs', version: 'release/0.2-indigo-kinetic', uri: 'https://github.com/stonier/py_trees_msgs.git'} +- git: { local-name: 'rocon_msgs', version: 'release/0.9-kinetic', uri: 'https://github.com/robotics-in-concert/rocon_msgs.git'} +- git: { local-name: 'somanet_msgs', version: 'release/0.4-indigo', uri: 'https://bitbucket.org/yujinrobot/somanet_msgs.git'} +- git: { local-name: 'yocs_msgs', version: 'release/0.7-indigo-gopher', uri: 'https://github.com/yujinrobot/yocs_msgs.git'} +- git: { local-name: 'feed_the_troll_msgs', version: 'release/0.1-indigo-kinetic', uri: 'https://github.com/stonier/feed_the_troll_msgs.git'} + + +# A convenient library that helps us centralise the gargantuan number of parameterisations and remaps we do +# Very heavily used by the gopher behaviour trees. +- git: { local-name: 'gopher_configuration', version: 'release/0.3-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_configuration.git'} diff --git a/rosinstalls/kinetic/gopher_navigation-devel.rosinstall b/rosinstalls/kinetic/gopher_navigation-devel.rosinstall new file mode 100755 index 0000000..7e9916a --- /dev/null +++ b/rosinstalls/kinetic/gopher_navigation-devel.rosinstall @@ -0,0 +1,36 @@ +# Software for the gopher navigation workspace. +# +# Permissions: closed - navi experts only (currently Alex and Daniel), key packages are in gopher_navigation. +# + +# Fork of the open source release for ar markers +# - git: {local-name: 'ar_track_alvar', version: 'kinetic-devel', uri: 'https://github.com/yujinrobot/ar_track_alvar.git'} +# Our own costmap equivalent of the very nice swiss grid map library, forked to yujinrobot from stonier to protect against changes +- git: {local-name: 'cost_map', version: 'devel', uri: 'https://github.com/yujinrobot/cost_map.git'} +# Fork of the very nice swiss grid maps +- git: {local-name: 'grid_map', version: 'devel', uri: 'https://github.com/yujinrobot/grid_map.git'} + +# Can probably drop this one now - we have not used this for a long time +- git: {local-name: 'depthimage_to_laserscan', version: 'kinetic', uri: 'https://github.com/yujinrobot/depthimage_to_laserscan.git'} + +# Supporting library for calibrating the depth sensors +- git: {local-name: 'depth_calibration', version: 'kinetic', uri: 'https://github.com/yujinrobot/depth_calibration.git'} +# Customised down sampling package +- git: {local-name: 'downsampler', version: 'kinetic', uri: 'https://github.com/yujinrobot/downsampler.git'} +- git: {local-name: 'plane_calibration', version: 'kinetic', uri: 'https://github.com/yujinrobot/plane_calibration.git'} +# Any important (especially IP sensitive) navigation code in here, especially local and global planning packages. +- git: {local-name: 'gopher_navigation', version: 'kinetic_version', uri: 'https://bitbucket.org/yujinrobot/gopher_navigation.git'} +# Any not so important navigation packages - docking, elevators, simple motions, etc. +- git: {local-name: 'gopher_motion_control', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/gopher_motion_control.git'} +# Forks of the open source ROS navistack +- git: {local-name: 'navigation', version: 'kinetic', uri: 'https://github.com/yujinrobot/navigation.git'} +- git: {local-name: 'navigation_layers', version: 'kinetic', uri: 'https://github.com/yujinrobot/navigation_layers.git'} +# Can't remember what is in here +- git: {local-name: 'obstacle_detection', version: 'kinetic', uri: 'https://bitbucket.org/yujinrobot/obstacle_detection.git'} +# Various useful tools, e.g. the command velocity mux, smoothers and teleop packages. +- git: {local-name: 'yujin_ocs', version: 'devel', uri: 'https://github.com/yujinrobot/yujin_ocs.git'} +# This open source package will be use temporary to use opencv 2 overall. +- git: {local-name: 'vision_opencv', version: 'kinetic_version', uri: 'https://github.com/yujinrobot/vision_opencv.git'} + +# Binary Repos - from our collaboration with KoDae on the medi cart project, they are working on elevators +- git: {local-name: 'kuns', version: 'devel', uri: 'https://bitbucket.org/yujinrobot/kuns.git'} diff --git a/rosinstalls/kinetic/gopher_navigation-stable.rosinstall b/rosinstalls/kinetic/gopher_navigation-stable.rosinstall new file mode 100644 index 0000000..ab54db3 --- /dev/null +++ b/rosinstalls/kinetic/gopher_navigation-stable.rosinstall @@ -0,0 +1,19 @@ +# Software for the gopher navigation stack + +- git: {local-name: 'ar_track_alvar', version: 'release/0.5-indigo-yujin-modified', uri: 'https://github.com/yujinrobot/ar_track_alvar.git'} +- git: {local-name: 'cost_map', version: 'release/0.3-indigo-beta', uri: 'https://github.com/yujinrobot/cost_map.git'} +- git: {local-name: 'depthimage_to_laserscan', version: 'release/1.0-indigo-yujin-modified', uri: 'https://github.com/yujinrobot/depthimage_to_laserscan.git'} +- git: {local-name: 'depth_calibration', version: 'release/0.4-indigo', uri: 'https://github.com/yujinrobot/depth_calibration.git'} +- git: {local-name: 'downsampler', version: 'release/0.2-indigo', uri: 'https://github.com/yujinrobot/downsampler.git'} +- git: {local-name: 'gopher_navigation', version: 'release/0.6-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_navigation.git'} +- git: {local-name: 'gopher_motion_control', version: 'release/0.6-indigo', uri: 'https://bitbucket.org/yujinrobot/gopher_motion_control.git'} +- git: {local-name: 'grid_map', version: 'release/1.1-indigo', uri: 'https://github.com/yujinrobot/grid_map.git'} +- git: {local-name: 'navigation', version: 'release/1.12.13-indigo-yujin-modified', uri: 'https://github.com/yujinrobot/navigation.git'} +- git: {local-name: 'navigation_layers', version: 'release/0.2-indigo-yujin-modified', uri: 'https://github.com/yujinrobot/navigation_layers.git'} +- git: {local-name: 'obstacle_detection', version: 'release/0.1-indigo', uri: 'https://bitbucket.org/yujinrobot/obstacle_detection.git'} +- git: {local-name: 'sophus_ros_toolkit', version: 'release/0.1-indigo-kinetic', uri: 'https://github.com/stonier/sophus_ros_toolkit.git'} +- git: {local-name: 'yujin_ocs', version: 'kinetic', uri: 'https://github.com/yujinrobot/yujin_ocs.git'} + +# Binary Repos +- git: {local-name: 'kuns', version: 'release/0.1-indigo', uri: 'https://bitbucket.org/yujinrobot/kuns.git'} + diff --git a/rosinstalls/kinetic/kobuki.rosinstall b/rosinstalls/kinetic/kobuki.rosinstall new file mode 100644 index 0000000..1c394b6 --- /dev/null +++ b/rosinstalls/kinetic/kobuki.rosinstall @@ -0,0 +1,17 @@ +############################################################################## +# +# If no debs, overlay on top of the rocon and ecl rosinstallers. +# +############################################################################## + +# Kobuki / Yujin stacks + +- git: {local-name: yocs_msgs, version: release/0.6-kinetic, uri: 'https://github.com/yujinrobot/yocs_msgs.git'} +- git: {local-name: yujin_ocs, version: kinetic, uri: 'https://github.com/yujinrobot/yujin_ocs.git'} +- git: {local-name: kobuki_msgs, version: kinetic, uri: 'https://github.com/yujinrobot/kobuki_msgs.git'} +- git: {local-name: kobuki_core, version: kinetic, uri: 'https://github.com/yujinrobot/kobuki_core.git'} +- git: {local-name: kobuki, version: kinetic, uri: 'https://github.com/yujinrobot/kobuki.git'} +- git: {local-name: kobuki_desktop, version: kinetic, uri: 'https://github.com/yujinrobot/kobuki_desktop.git'} + +#- git: {local-name: capabilities, version: master, uri: 'https://github.com/osrf/capabilities.git'} +#- git: {local-name: std_capabilities, version: master, uri: 'https://github.com/osrf/std_capabilities.git'} diff --git a/rosinstalls/kinetic/kobuki_core.rosinstall b/rosinstalls/kinetic/kobuki_core.rosinstall new file mode 100644 index 0000000..effb9a8 --- /dev/null +++ b/rosinstalls/kinetic/kobuki_core.rosinstall @@ -0,0 +1,14 @@ +############################################################################## +# +# This is a fully self contained rosinstaller (useful for win/cross compiles) +# +############################################################################## + +- git: {local-name: catkin, version: kinetic-devel, uri: 'https://github.com/ros/catkin.git'} +- git: {local-name: cmake_modules, version: 0.4-devel, uri: 'https://github.com/ros/cmake_modules.git'} +- git: {local-name: ecl_tool, version: release/0.61-indigo-kinetic, uri: 'https://github.com/stonier/ecl_tools.git'} +- git: {local-name: ecl_lite, version: release/0.61-indigo-kinetic, uri: 'https://github.com/stonier/ecl_lite.git'} +- git: {local-name: ecl_core, version: release/0.61-indigo-kinetic, uri: 'https://github.com/stonier/ecl_core.git'} +- git: {local-name: ecl_navigation, version: release/0.60-indigo-kinetic, uri: 'https://github.com/stonier/ecl_navigation.git'} +- git: {local-name: kobuki_core, version: kinetic, uri: 'https://github.com/yujinrobot/kobuki_core.git'} + diff --git a/rosinstalls/kinetic/turtlebot.rosinstall b/rosinstalls/kinetic/turtlebot.rosinstall new file mode 100644 index 0000000..9635e3b --- /dev/null +++ b/rosinstalls/kinetic/turtlebot.rosinstall @@ -0,0 +1,13 @@ +############################################################################## +# +# If no debs, overlay on top of the kobuki, rocon and ecl rosinstallers. +# +############################################################################## + +- git: {local-name: turtlebot_msgs, version: indigo, uri: 'https://github.com/turtlebot/turtlebot_msgs.git'} +- git: {local-name: turtlebot_create, version: indigo, uri: 'https://github.com/turtlebot/turtlebot_create.git'} +- git: {local-name: turtlebot, version: kinetic, uri: 'https://github.com/turtlebot/turtlebot.git'} +- git: {local-name: turtlebot_apps, version: indigo, uri: 'https://github.com/turtlebot/turtlebot_apps.git'} +- git: {local-name: turtlebot_interactions, version: indigo, uri: 'https://github.com/turtlebot/turtlebot_interactions.git'} +- git: {local-name: turtlebot_simulator, version: indigo, uri: 'https://github.com/turtlebot/turtlebot_simulator.git'} +- git: {local-name: turtlebot_create_desktop, version: kinetic, uri: 'https://github.com/turtlebot/turtlebot_create_desktop.git'} diff --git a/scripts/groot_binaries b/scripts/groot_binaries index 613fd2d..8071f26 100755 --- a/scripts/groot_binaries +++ b/scripts/groot_binaries @@ -20,7 +20,7 @@ export RESET="\e[0m" show_help () { echo "" - echo "Pulls the installspace from the server to /opt/yujin/indigo." + echo "Pulls the installspace from the server to /opt/yujin/." echo "Make sure you call this with sudo or set the correct permissions" echo "on /opt/yujin." echo "" @@ -37,13 +37,29 @@ show_help () echo " --partners : use the server for partners (stable only)" echo " --list-rosdeps : list all rosdep keys required by the groot binary installspace" echo " --install-rosdeps : install all rosdeps required by the groot binary installspace" + echo " --track= : specify ROS track (example: --track=kinetic, default is kinetic)" echo "" echo " Admin Options:" - echo " --push : push local /opt/yujin/indigo installspace with the server" + echo " --push : push local /opt/yujin/ installspace with the server" echo "" exit 0 } +########################### +# PreConfigured Defaults +########################### + +. /etc/lsb-release + +if [ "${DISTRIB_CODENAME}" == "trusty" ]; then + TRACK="indigo" +elif [ "${DISTRIB_CODENAME}" == "xenial" ]; then + TRACK="kinetic" +else + echo "Only Ubuntu Trusty and Xenial are supported. Exit..." + exit 1 +fi + ########################### # Command Line ########################### @@ -87,6 +103,10 @@ case $i in PUSH=1 shift ;; + --track=*) + TRACK="${i#*=}" + shift + ;; *) # unknown option ;; @@ -135,14 +155,19 @@ elif [ ! -z "$PARTNERS" ]; then export remote_url=groot@files.yujinrobot.com export remote_path=/data/file_server/rsync_partner_repositories/yujin/amd64 else - export remote_url=files@files.yujin.com - export remote_path=shared/installspaces/yujin/amd64 + if [ "${DISTRIB_CODENAME}" == "xenial" ]; then + export remote_url=files@files.gopher.com + export remote_path=data/yujin/amd64 + else + export remote_url=files@files.yujin.com + export remote_path=shared/installspaces/yujin/amd64 + fi fi export remote_dir=${remote_url}:${remote_path} # Options - you basically want to mostly replicate the -a option (good set of defaults), but we don't want owner transferred -# +# # --delete : files from the destination directories # --checksum : if files are the same size (but different timestamps), do a checksum on them to see whether to transfer or not # @@ -165,50 +190,50 @@ if [ ! -z "$INSTALL_ROSDEPS" ]; then echo "" rosdep update echo "" - echo "Installing all rosdeps required by the binaries installspace in ${local_dir}/indigo-${RELEASE}" + echo "Installing all rosdeps required by the binaries installspace in ${local_dir}/${TRACK}-${RELEASE}" echo "" echo " Executing:" echo "" - echo " source ${local_dir}/indigo-${RELEASE}/setup.bash" - echo " rosdep install -r --default-yes --from-paths ${local_dir}/indigo-${RELEASE} --ignore-src" + echo " source ${local_dir}/${TRACK}-${RELEASE}/setup.bash" + echo " rosdep install -r --default-yes --from-paths ${local_dir}/${TRACK}-${RELEASE} --ignore-src" echo "" - source ${local_dir}/indigo-${RELEASE}/setup.bash - rosdep install -r --default-yes --from-paths ${local_dir}/indigo-${RELEASE} --ignore-src + source ${local_dir}/${TRACK}-${RELEASE}/setup.bash + rosdep install -r --default-yes --from-paths ${local_dir}/${TRACK}-${RELEASE} --ignore-src exit 0 fi if [ ! -z "$LIST_ROSDEPS" ]; then echo "" - echo "Listing all rosdep keys required by the binaries installspace in ${local_dir}/indigo-${RELEASE}" + echo "Listing all rosdep keys required by the binaries installspace in ${local_dir}/${TRACK}-${RELEASE}" echo "" echo " Executing:" echo "" - echo " source ${local_dir}/indigo-${RELEASE}/setup.bash" - echo " rosdep keys -r --from-paths ${local_dir}/indigo-${RELEASE} --ignore-src | sort" + echo " source ${local_dir}/${TRACK}-${RELEASE}/setup.bash" + echo " rosdep keys -r --from-paths ${local_dir}/${TRACK}-${RELEASE} --ignore-src | sort" echo "" - source ${local_dir}/indigo-${RELEASE}/setup.bash - rosdep keys -r --from-paths ${local_dir}/indigo-${RELEASE} --ignore-src | sort + source ${local_dir}/${TRACK}-${RELEASE}/setup.bash + rosdep keys -r --from-paths ${local_dir}/${TRACK}-${RELEASE} --ignore-src | sort exit 0 fi if [ ! -z "$PUSH" ]; then echo "" - echo "Pre-clearing *.pyc files from /opt/yujin/amd64/indigo-${RELEASE}" - find ${local_dir}/indigo-${RELEASE} -name \*.pyc -delete + echo "Pre-clearing *.pyc files from /opt/yujin/amd64/${TRACK}-${RELEASE}" + find ${local_dir}/${TRACK}-${RELEASE} -name \*.pyc -delete echo "" echo "Pushing changes to the file server '${remote_dir}'." # Need to automate this script on jenkins. #echo "Do you really want to push changes (if you aren't sure, you definitely do not)?[y/N]:" #read answer #if [ "$answer" == "y" ]; then - rsync ${OPTIONS} ${local_dir}/indigo-${RELEASE} ${remote_dir} | grep -E '^deleting|[^/]$' # the grep is to remove directory only output to stdout (e.g. indigo-devel/share/rocon_concert/) + rsync ${OPTIONS} ${local_dir}/${TRACK}-${RELEASE} ${remote_dir} | grep -E '^deleting|[^/]$' # the grep is to remove directory only output to stdout (e.g. ${TRACK}-devel/share/rocon_concert/) #else # echo "Aborting." #fi echo "" else # SKIP - now we have rsync working properly, this is not entirely necessary - # remote_listing=`ssh ${remote_url} ls ${remote_path}/indigo-${RELEASE}/build-*` + # remote_listing=`ssh ${remote_url} ls ${remote_path}/${TRACK}-${RELEASE}/build-*` # if [ $? -ne 0 ]; then # echo -e "" # echo -e "${RED}ERROR: could not connect to${RESET} ${BOLD}'$remote_url'${RESET}${RED}.\n : are you on the network?\n : do you have the DNS settings correct?${RESET}" @@ -216,16 +241,16 @@ else # exit 1 # fi # export remote_timestamp=`echo ${remote_listing} | sed 's/.*\\///'` - # export local_timestamp=`ls ${local_dir}/indigo-${RELEASE}/build-* 2>/dev/null | sed 's/.*\\///'` + # export local_timestamp=`ls ${local_dir}/${TRACK}-${RELEASE}/build-* 2>/dev/null | sed 's/.*\\///'` # if [ "${remote_timestamp}" == "${local_timestamp}" ]; then # echo "Nothing to do: remote and local builds have the same timestamps." # exit 0 # fi echo "" - echo "Clearing *.pyc files from /opt/yujin/amd64/indigo-${RELEASE}" - find /opt/yujin/amd64/indigo-${RELEASE} -name \*.pyc -delete + echo "Clearing *.pyc files from /opt/yujin/amd64/${TRACK}-${RELEASE}" + find /opt/yujin/amd64/${TRACK}-${RELEASE} -name \*.pyc -delete echo "" - rsync ${OPTIONS} ${remote_dir}/indigo-${RELEASE} ${local_dir} | grep -E '^deleting|[^/]$' # the grep is to remove directory only output to stdout (e.g. indigo-devel/share/rocon_concert/) + rsync ${OPTIONS} ${remote_dir}/${TRACK}-${RELEASE} ${local_dir} | grep -E '^deleting|[^/]$' # the grep is to remove directory only output to stdout (e.g. ${TRACK}-devel/share/rocon_concert/) if [ $? -ne 0 ]; then echo -e "" echo -e "${RED}ERROR: failed to sync with${RESET} ${BOLD}'$remote_url'${RESET}${RED}.\n : are you on the network?\n : do you have the DNS settings correct?${RESET}" @@ -233,9 +258,8 @@ else exit 1 fi # just in case the server misbehaved and sent us pyc files, clear them! - find /opt/yujin/amd64/indigo-${RELEASE} -name \*.pyc -delete + find /opt/yujin/amd64/${TRACK}-${RELEASE} -name \*.pyc -delete echo "" echo "You may need an additional 'groot_binaries --${RELEASE} --install-rosdeps' if there are new dependencies." echo "" fi - diff --git a/scripts/groot_sources b/scripts/groot_sources index d1c8fda..6697b98 100755 --- a/scripts/groot_sources +++ b/scripts/groot_sources @@ -48,9 +48,10 @@ show_help () echo " --make : run yujin_make on each workspace" echo " --branches : show what branches are used in each workspace" echo " -d, --source-directory= : specify custom source directory" + echo " --track= : specify ROS track (example: --track=kinetic, default is kinetic)" echo "" echo " Admin Options:" - echo " --install : set the install location to /opt/yujin/amd64/xxx for all workspaces" + echo " --install= : set the install location to given directory(example: --install=/opt/yujin/kinetic)" echo "" exit 0 } @@ -61,6 +62,17 @@ show_help () JOBS=5 +. /etc/lsb-release + +if [ "${DISTRIB_CODENAME}" == "trusty" ]; then + TRACK="indigo" +elif [ "${DISTRIB_CODENAME}" == "xenial" ]; then + TRACK="kinetic" +else + echo "Only Ubuntu Trusty and Xenial are supported. Exit..." + exit 1 +fi + ########################### # Command Line ########################### @@ -76,8 +88,8 @@ case $i in DELETE=1 shift ;; - --install) - INSTALL_STRING="--install=/opt/yujin/indigo" + --install=*) + INSTALL_STRING="${i#*=}" shift ;; --update) @@ -117,6 +129,10 @@ case $i in CUSTOM_SOURCE_DIRECTORY="${i#*=}" shift ;; + --track=*) + TRACK="${i#*=}" + shift + ;; *) # unknown option ;; @@ -168,8 +184,7 @@ declare -A ALL_REPO_KEYS declare -A ALL_UNDERLAYS ALL_REPO_KEYS=( ["ecto"]="ecto-${RELEASE}" ["ecl"]="ecl-${RELEASE}" ["messages"]="gopher_messages-${RELEASE}" ["bootstrap"]="gopher_bootstrap-${RELEASE}" ["concert"]="gopher_concert-${RELEASE}" ["navi"]="gopher_navigation-${RELEASE}" ["dslam"]="gopher_dslam-${RELEASE}" ["gopher"]="gopher-${RELEASE}" ["desktop"]="gopher_desktop-${RELEASE}" ) - -YUJIN_BINARIES=/opt/yujin/amd64/indigo-${RELEASE} +YUJIN_BINARIES=/opt/yujin/amd64/${TRACK}-${RELEASE} ECL_CLOUD="${GROOT}/ecl_${WS}/devel" MSG_CLOUD="${GROOT}/messages_${WS}/devel;${ECL_CLOUD}" @@ -390,4 +405,3 @@ fi mkdir_groot download_sources - diff --git a/scripts/yujin_ansible_bootstrap b/scripts/yujin_ansible_bootstrap index 3a0f883..7f11856 100755 --- a/scripts/yujin_ansible_bootstrap +++ b/scripts/yujin_ansible_bootstrap @@ -111,24 +111,35 @@ pretty_print " Codename: ${DISTRIB_CODENAME}" echo "" pretty_headr "Repositories" -if [ "${DISTRIB_CODENAME}" == "trusty" ]; then +if [ "${DISTRIB_CODENAME}" == "trusty" ] || [ "${DISTRIB_CODENAME}" == "xenial" ] ; then # stuck with having to use a future ansible, drop this need asap if we can # as it is likely to cause us integration headaches with modules needing non # system supported dependencies pretty_print " ansible........................ppa:ansible/ansible" - if [ ! -f /etc/apt/sources.list.d/ansible-ansible-trusty.list ]; then + if [ ! -f /etc/apt/sources.list.d/ansible-ansible-${DISTRIB_CODENAME}.list ]; then sudo apt-add-repository ppa:ansible/ansible fi else - pretty_print " ansible........................system" + echo "Only Ubuntu Trusty and Xenial are supported. Exit..." + exit 1 fi -pretty_print " python-yujin-tools.............packages.yujinrobot.com" -pretty_print " python-yujin-ansible...........packages.yujinrobot.com" -if [ ! -f /etc/apt/sources.list.d/yujin.list ]; then - echo "deb http://packages.yujinrobot.com/yujin/ubuntu ${DISTRIB_CODENAME} main" > /tmp/yujin.list - sudo mv /tmp/yujin.list /etc/apt/sources.list.d/yujin.list - wget http://packages.yujinrobot.com/yujin.key -O - | sudo apt-key add - +if [ "${DISTRIB_CODENAME}" == "trusty" ] ; then + pretty_print " python-yujin-tools.............packages.yujinrobot.com" + pretty_print " python-yujin-ansible...........packages.yujinrobot.com" + if [ ! -f /etc/apt/sources.list.d/yujin.list ]; then + echo "deb http://packages.yujinrobot.com/yujin/ubuntu ${DISTRIB_CODENAME} main" > /tmp/yujin.list + sudo mv /tmp/yujin.list /etc/apt/sources.list.d/yujin.list + wget http://packages.yujinrobot.com/yujin.key -O - | sudo apt-key add - + fi +elif [ "${DISTRIB_CODENAME}" == "xenial" ] ; then + pretty_print " python-yujin-tools.............packages.gopher.com" + pretty_print " python-yujin-ansible...........packages.gopher.com" + if [ ! -f /etc/apt/sources.list.d/yujin.list ]; then + echo "deb http://packages.gopher.com/ubuntu/xenial ${DISTRIB_CODENAME} main" > /tmp/yujin.list + sudo mv /tmp/yujin.list /etc/apt/sources.list.d/yujin.list + wget http://packages.gopher.com/yujin.key -O - | sudo apt-key add - + fi fi echo "" diff --git a/scripts/yujin_upload_deb b/scripts/yujin_upload_deb index 3764562..594c69f 100755 --- a/scripts/yujin_upload_deb +++ b/scripts/yujin_upload_deb @@ -17,14 +17,21 @@ export RESET="\e[0m" # Constants ########################### -PACKAGES_URI="packages.yujinrobot.com" -PACKAGES_URL="http://${PACKAGES_URI}" -PACKAGES_SSH="files@${PACKAGES_URI}" -PACKAGES_SCRIPTS_DIR="/data/repos/scripts" UBUNTU_ARCH="$(dpkg --print-architecture)" # get current machine architecture UBUNTU_VERSION_string="$(lsb_release -cs)" # get current release codename COMPONENT_NAME="" +if [ "${UBUNTU_VERSION_string}" == "xenial" ]; then + PACKAGES_URI="packages.gopher.com" + PACKAGES_SCRIPTS_DIR="/opt/system_deb_builder/yujin_deb_tools/scripts" +else + PACKAGES_URI="packages.yujinrobot.com" + PACKAGES_SCRIPTS_DIR="/data/repos/scripts" +fi + +PACKAGES_URL="http://${PACKAGES_URI}" +PACKAGES_SSH="files@${PACKAGES_URI}" + ########################### # Help ########################### @@ -56,6 +63,10 @@ case $i in SHOW_HELP=1 shift ;; + --legacy) + UBUNTU_VERSION_string="trusty" + shift + ;; *) if [ -z ${CPACK_PACKAGE_NAME+x} ]; then CPACK_PACKAGE_NAME=$i; shift; fi ;; @@ -92,13 +103,12 @@ if [[ $? != 0 ]]; then fi ssh ${PACKAGES_SSH} "rm -f ~/${DEBIAN_FILENAME}" -echo " -- ssh ${PACKAGES_SSH} -t '/data/repos/scripts/rem_deb ${UBUNTU_VERSION_string} ${CPACK_PACKAGE_NAME}'" -ssh ${PACKAGES_SSH} -t "/data/repos/scripts/rem_deb ${UBUNTU_VERSION_string} ${CPACK_PACKAGE_NAME}" +echo " -- ssh ${PACKAGES_SSH} -t '${PACKAGES_SCRIPTS_DIR}/rem_deb ${UBUNTU_VERSION_string} ${CPACK_PACKAGE_NAME}'" +ssh ${PACKAGES_SSH} -t "${PACKAGES_SCRIPTS_DIR}/rem_deb ${UBUNTU_VERSION_string} ${CPACK_PACKAGE_NAME}" #ssh ${PACKAGES_SSH} -t '/data/repos/scripts/rem_deb ${UBUNTU_VERSION_string} ${CPACK_PACKAGE_NAME}-${COMPONENT_NAME}' echo " -- scp ${DEBIAN_FILENAME} ${PACKAGES_SSH}:" scp ${DEBIAN_FILENAME} ${PACKAGES_SSH}: -echo " -- ssh ${PACKAGES_SSH} '/data/repos/scripts/add_deb ${UBUNTU_ARCH} ${UBUNTU_VERSION_string} ${DEBIAN_FILENAME}'" -ssh ${PACKAGES_SSH} -t "/data/repos/scripts/add_deb ${UBUNTU_ARCH} ${UBUNTU_VERSION_string} ${DEBIAN_FILENAME}" +echo " -- ssh ${PACKAGES_SSH} '${PACKAGES_SCRIPTS_DIR}/add_deb ${UBUNTU_ARCH} ${UBUNTU_VERSION_string} ${DEBIAN_FILENAME}'" +ssh ${PACKAGES_SSH} -t "${PACKAGES_SCRIPTS_DIR}/add_deb ${UBUNTU_ARCH} ${UBUNTU_VERSION_string} ${DEBIAN_FILENAME}" echo " -- ssh ${PACKAGES_SSH} 'rm -f ~/${DEBIAN_FILENAME}'" ssh ${PACKAGES_SSH} "rm -f ~/${DEBIAN_FILENAME}" - diff --git a/src/yujin_tools/make.py b/src/yujin_tools/make.py index 71ba708..af0c31d 100644 --- a/src/yujin_tools/make.py +++ b/src/yujin_tools/make.py @@ -183,7 +183,7 @@ def make_main(): if args.install_rosdeps: return install_rosdeps(base_path, source_path, settings.get_default_track(), args.no_color) if args.install_rosdeps_track is not None: - return install_rosdeps(source_path, args.install_rosdeps_track, args.no_color) + return install_rosdeps(base_path, source_path, args.install_rosdeps_track, args.no_color) # Clear out previous temporaries if requested diff --git a/src/yujin_tools/settings.py b/src/yujin_tools/settings.py index d2eca76..0ff371b 100644 --- a/src/yujin_tools/settings.py +++ b/src/yujin_tools/settings.py @@ -10,6 +10,8 @@ from argparse import RawTextHelpFormatter #import shutil +import lsb_release + ############################################################################## # Local imports ############################################################################## @@ -21,9 +23,9 @@ # Constants ############################################################################## -DEFAULT_TRACK = "indigo" +DEFAULT_TRACK = "kinetic" VALID_TRACKS = ["groovy", "hydro", "indigo", "jade", "kinetic"] -DEFAULT_ROSINSTALL_DATABASE = 'https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls' +DEFAULT_ROSINSTALL_DATABASE = 'https://raw.github.com/yujinrobot/yujin_tools/kinetic-devel/rosinstalls' ############################################################################## # Methods @@ -45,13 +47,33 @@ def yujin_tools_home(): return home_dir +def get_proper_track(): + try: + osinfo = lsb_release.get_lsb_information() + except: + print "Warning: ROS track is presumed to %s" % DEFAULT_TRACK + return DEFAULT_TRACK + if osinfo['ID'] != 'Ubuntu': + print "Your OS is %s. Only Ubuntu is supported. Exit..." % osinfo['ID'] + sys.exit(1) + if osinfo['CODENAME'] == 'xenial': + track = 'kinetic' + elif osinfo['CODENAME'] == 'trusty': + track = 'indigo' + else: + print "Only Ubuntu Trusty and Xenial are supported. Exit..." + sys.exit(1) + return track + + def get_default_track(): filename = os.path.join(yujin_tools_home(), "track") try: f = open(filename, 'r') except IOError: - set_default_track() - return DEFAULT_TRACK + track = get_proper_track() + set_default_track(track) + return track track = f.read() f.close() return track @@ -97,7 +119,6 @@ def set_rosinstall_database_uri(rosinstall_database=DEFAULT_ROSINSTALL_DATABASE) # Utility Settings Script Functionality ############################################################################## - def help_string(): overview = '\nThis is a convenience script for configuring yujin tools settings.\n\n' instructions = " \