Coder Social home page Coder Social logo

bwi-update's Introduction

bwi-update

Update tool for maintenance of ROS workspaces and system binaries

bwi-update's People

Contributors

piyushk avatar

Watchers

James Cloos avatar Nick Walker avatar Jack O'Quin avatar  avatar  avatar

bwi-update's Issues

gzserver process does not always shut down cleanly

This command does not shut down cleanly with control-C:

$ roslaunch segbot_gazebo bwi_test_world.launch

Usually, it hangs for a while, then logs this error:

[gazebo-1] escalating to SIGTERM

The SIGTERM usually works, but sometimes the system monitor shows a gzserver process hanging around. If that happens, the segbot_gazebo will no longer launch. Killing gzserver from the system monitor gets things working again.

I do not know what causes this, but I have seen it happen on more than one system.

Bad path name in ~/.bwi/workspace.bash

While updating my .bashrc (by hand), I noticed what looks like an error in ~/.bwi/workspace.bash:

source /home/joq/ros/rosbuild_ws/devel/setup.bash

I think that line should be:

source /home/joq/ros/rosbuild_ws/setup.bash

Unlike catkin workspaces, rosbuild workspaces have no devel/ subdirectory.

rosdep not automatically initialized

From Jack's testing in #4:

It took me two tries to compile:

$ rosmake gazebo_plugins segbot_apps segbot_gazebo
The first attempt failed, because I had not yet initialized rosdep:

$ sudo rosdep init
$ rosdep update

Proper chaining of workspaces

Once the initial chain of workspaces are initialized, subsequent changes to workspaces (addition/removal) is not supported without breaking the chain.

This will probably required upgrading the configuration file format

bwi-update --sync failure

This was run on a former Lucid workstation that was recently upgraded to Precise. There was not much installed before running bwi-update with the --system option.

$ bwi-update --sync
[Installing gazebo models in /home/joq/ros/gazebo]
requesting all changes
adding changesets
adding manifests
adding file changes
added 96 changesets with 664 changes to 393 files (+3 heads)
updating to branch default
345 files updated, 0 files merged, 0 files removed, 0 files unresolved
 - Done
[Initializing workspace of type: catkin in /home/joq/ros/catkin_ws]
/bin/bash: wstool: command not found
[Removing workspace from /home/joq/ros/catkin_ws]
 - Workspace does not exist in /home/joq/ros/catkin_ws
[Initializing workspace of type: rosbuild in /home/joq/ros/rosbuild_ws]
ERROR in config: Is not a local file, nor a valid URL [/home/joq/ros/catkin_ws/devel] : unknown url type: /home/joq/ros/catkin_ws/devel
[Removing workspace from /home/joq/ros/rosbuild_ws]
 - Workspace does not exist in /home/joq/ros/rosbuild_ws
[Merging https://raw.github.com/utexas-bwi/segbot/master/rosinstall/segbot.rosinstall in /home/joq/ros/rosbuild_ws]
Traceback (most recent call last):
  File "/usr/bin/bwi-update", line 612, in <module>
    error_code = synchronizeUserSpace()
  File "/usr/bin/bwi-update", line 516, in synchronizeUserSpace
    rosinstallROSPackage(rosinstall_target,build_type,ws[build_type])
  File "/usr/bin/bwi-update", line 334, in rosinstallROSPackage
    success = callWsCommand(["merge","--confirm-all","--target-workspace="+ws,rosinstall_file],type,ws)
  File "/usr/bin/bwi-update", line 139, in callWsCommand
    return call(["/bin/bash","-c","unset ROS_WORKSPACE && " + command + " " + " ".join(args)],cwd=ws,verbose=verbose,verbose_error=verbose_error)
  File "/usr/bin/bwi-update", line 124, in call
    p = subprocess.Popen(command, stdout=subprocess.PIPE, cwd=cwd)
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory: '/home/joq/ros/rosbuild_ws'

bwi-update depends on ROS package repositories being defined

On a fresh Precise system, I ran:

$  sudo apt-add-repository ppa:piyushk/bwi
$  sudo apt-get update && sudo apt-get install bwi-update
$  sudo bwi-update --system --config https://raw.github.com/utexas-bwi/bwi/master/bwi-update-config/system_config.yaml
$  sudo bwi-update --system --sync

It failed because the ROS package repository is not yet defined:

[Installing/Removing packages from apt-get]
 - Installing ros-groovy-desktop-full...
E: Unable to locate package ros-groovy-desktop-full
    - Failed
 - Installing ros-groovy-rx...
E: Unable to locate package ros-groovy-rx
    - Failed
 - Installing ros-groovy-rxgraph...

and so on...

no apt update on system sync

I can't believe I forgot to call so many functions I had already written. Oh wel... I'll release an updated copy soon. Remember to run sudo apt-get update before running system sync.

Prefer to not use tmp directory

This is a low priority enhancement issue.

It looks like the code was in better shape than I remembered. We write everything to a tmp directory inside /tmp, and remove it before exit. I don't plan to fix this issue tomorrow.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.