ROS Platform Group
The ROS platform group manages ROS releases and maintains core ROS packages for messaging, language support,building, packaging, etc.
Meeting Notes
This group organizes weekly meeting in the spirit of agile methods, to report on progress and help with blocking issues. Participants have mostly been Willow Garage staff or external package maintainers. Sometimes technical issues are mentioned that may be of interest to wider audiences. The notes here are an attempt to reveal these topics to the general public. For lengthy technical discussions, the mailing lists remain the medium of choice to integrate the community.
For questions and comments visit the ROS Buildsystem Special Interest Group
Contents
2013-03-20
2013-03-13
2013-03-06
27/02/2013
- ROSCon2013 is not immediately at risk due to Willow Garage uncertainty, as the event is sponsored mostly by other parties. Call for participation to be posted soon.
- Hydro release schedule still needs rescheduling. It is likely that the extend of changes in Hydro will re reduced to make it possible to release reasonably close to Ubuntu release.
- REP132 discussed regarding support of README.rst, decision was to only use CHANGELOG.rst, containing only changelogs, to avoid unpredictable problems.
- regarding rosmake/rosdep performance issues, no further effort will be made, as this build toolchain is not part of the catkin-only ecosystem
An idea for future meetings is YouTube Hangout On Air, to be tried out + Regarding the new orsditro format, REP137 to be extended such that for any package, a dict or values can be added, such as for maintenance status (package.xml only reflects status at last release date, not current status)
- A recommendation for email adresses in the ROS ecosystem is to avoid short-lasting emails, such as temporary willowgarage email adresses given to interns.
- Hydro fork to start before REP137 has been landed
Python3 issus with Precise/Ringtail discussed, (https://github.com/ros/rosdistro/issues/506)
19/02/2013
- Last platform group meeting at Willow Garage, future meeting to be at OSRF, backed by Skype or google hangouts for remote contributors.
- bloom 0.3 release ready
rosdistro new syntax REP at https://github.com/po1/rep/blob/master/rep-0133.rst
- work in progress
- cross-package target dependency: Currently best approach by depending on a variable that has different value in workspace vs isolation. To be analysed further.
- OSRF will make decisions on what to maintain and release independently of Willow Garage
- releasing orocos packages with ROS release shall remain duty of orocos maintainers. OSRF may help, but will not drive joint release (or early adaption).
- OSU now very likely to host ROS quasi-static web resources, like ros.org, answers.ros.org, turtlebot.com, ...
12/02/2013
- Jenkins 501 deployed
- new rosdistro format drafted, to be REPed
05/02/2013
- Fuerte Debbuild Status
- Close to a complete rebuild. 64 stacks and variants(30) with regressions
- Build merge of fuerte and groovy close to done -- one rosdep issue
- Planned ROS Survey, users to be asked for more questions prior to launch of survey
- tf2 sig kicked off
- ros 2.0 kickoff:
- Dirk and Tully will put together some notes for the Product workshop this week
- Hydro fork announcement? Once fuerte is stabilized
- catkin-debs: consider using a tagged version on the farm?
- Tag versions and parameterize it in the reconfigure stage
- Parameterize catkin-debs repo as well
- general communication flow: Encourage users to ask questions on answers (or via chat), not github
29/01/2013
- PR2 stacks catkinization for hydro will be organized with tickets on github
- ROS blog ros.org/news has gone silent, should be revived
- ROS on Windows wiki page to be redone, current info is suitable for internal use nly
- more packages migrated to github (ros, rosbrowse, smach, rx, ros_realtime)
- ros-drivers will be extended via several REPs for naming Topic/Parameter/Diagnostic
LaserScanners (Single and Multiecho)
- IMUs
- GPS
- Joystick
- Cameras
- REP 132 draft out
- bloom 0.3 is out
- Porting dry Groovy packages to catkin in groovy-devel branch is okay to do, but should only be done if users are aware and demanding. Else to do in hydro-devel
- Some problem with spam on wiki, may need to change captcha
22/01/2013
Gazebo Simulator ROS packaging -> Dual strategy for groovy (debians for traditional ROS stuff, gaebosim source install for darpa related stuff).
Switch for Hydro to OSRF-provided debs only
roslocate functionality: Currently state is buggy, opened tickets on https://github.com/ros-infrastructure/prerelease_website/issues/7
Updated darcs demo: talker/listener example added at https://github.com/mkjaergaard/darc_examples
- For tracking convenience, incoming issues on github will be triaged, using Untargeted Milestone for things that are not to be done soon.
- Revisited metapackage design, continued discussion on ROS Buildsystem SIG
15/01/2013
- Discussion about whether and how to reduce occurences of same dependencies in package.xml and CMakeLists.txt
- Consider large differences between c++ and python dependencies (no export for python runtime dep)
- Consider cmake file being outside the concern of catkins package manifest
- Consider 3rdparty library with “lightweight” package.xml
- Automatically find_packaging causes indesirable heavy dependency on rosdep
- Idea: export all catkin dependencies that were find_packaged as catkin COMPONENTS
- Letting the user use this for simplicity is a reasonable compromise. There could be catkin_COMPONENTS_WITH_MSGS for genmsg dependencies. Or we could put in 3 variables into the template at the top with a clear description so that people can see where the variables end up :
- EXPORTED_CATKIN_PACKAGES # NON_EXPORTED_CATKIN_PACKAGES # CATKIN_PACKAGES_WITH_MESSAGES #
- Letting the user use this for simplicity is a reasonable compromise. There could be catkin_COMPONENTS_WITH_MSGS for genmsg dependencies. Or we could put in 3 variables into the template at the top with a clear description so that people can see where the variables end up :
- consider existing catkin_ALL_FOUND_COMPONENTS
- Goal: Separate concerns between package.xml and CMakeLists (e.g. packaging vs. building)
- Goal: Treat catkin dependency as much as possible similar to system dependencies
- Goal: packages should be cmake-able without other tools than cmake itself
- Issue: uninformed developers not knowing the intricacies about the differences between the lists
- rosdep is bad because: is python, slow, not easily accessible from c++, it could be powerful to make this available at high speed, but we don’t want to require the build system to need an up to date rosdep database be able to build
- Problem: Can one write a get_macro in cmake that can be used instead of a variable? Yes, passing the variable name where the return value gets set to.
- Discussion on how to deal with valid tickets that we have no time to close
- Could use handoff tags
- Could use Untargeted Milestone
- Could use Closed tag “Good Idea” -- bad for contributor feelings
- *** Lets use the Untargeted Milestone -- and triage incoming milestones
- *** We’ll try to triage tickets into appropriate milestones
Write up this policy on the GitHub
Created timeline for Hydro release (see http://wiki/hydro/Planning)
08/01/2013
- Trac cleanup this weel
- reassign package maintainers
- move tickets to github / close when obsolete
- ansers.ros.org server upgraded harddisk
- roskiki server more RAM added
- catkin_make_isolated fixed long sourcing time
- genmsg added transitive dependency resolution
- rospkg better information returned for wet packages
- rqt plugins split into several packages
- debbuild status page has more features
- switched several github repos from master to groovy-devel
- ros wiki tutorials have new link to answers.ros.org to channel feedback
new wiki page: http://wiki/RecommendedRepositoryUsage
- plans for code.ros.org to be mostly shut down in the future
- plans to revive idea of support for changelists in packages, to appear on wiki, used by bloom for debian packages, etc.
- discussed possibly unification of catkin_pkg, rospkg, roslib, rospack, rosdep, xylem, etc. To be investigated further before decision
18/12/2012
- Solving wstool rosws conflicts by unsetting ROS_WORKSPACE in ros environment hooks for groovy
- catkin_make_prerequisites progress:
- script now called catkin_make_isolated
- script to build each package in isolation (because some non-catkin packages depend on catkin packages)
- caveat: mixing workflows messes up environment
- central build space contains package build space
- separate devel spaces equally, single install space
- option to merge devel spaces
- rqt catkinization almost done
- created message_generation and message_runtime packages
- add deprecated tag to package.xml spec, implemented warnings in catkin
- deprecated langs/langs-dev
11/12/2012
Open Issues:
- Ros-groovy-desktop-full no longer available on the public repo
- dynamic_reconfigure into catkin
- a problem because it’s generating at configure time (there’s no reason to do it then, it just needs to be completely rewritten)
- blocks source install
- does not work with parallel builds because it does not expose a target to depend on
- different from others because users write “scripts” which do the generation
- a problem because it’s generating at configure time (there’s no reason to do it then, it just needs to be completely rewritten)
Updates:
- Meta information to deprecate a package
<deprecated> Tag under <exports> which is either empty or contains a string content with more information. A good content will mention what, why and when it is expected to go away.
- #249 renaming langs: consensus on new naming
langs -> message_runtime (a runtime dependency for all message packages which pulls in roscpp_core)
langs-dev -> message_generation (a build dependency for all message packages pulling in genmsg and all generators)
- ROSCon Preparations begun
catkin_make_prerequisites
need to find consensus on functionality, naming, etc.
goal is to make building a workspace more convenient when it contains non-catkin packages (flann, kdl, opencv, pcl, etc...), these packages do have a package.xml file (for dependencies) with the export tag <build_type>catkin(default)|cmake</build_type> but no catkin-enhanced CMakeLists.txt.
The flow would be:
- catkin_make_prerequisites (no target passing, flags go through)
- catkin_make
- now things are built into devel
- catkin_make_prerequisites --install
- catkin_make install
- now everything is installed into the install space
catkin should skip packages with the <build_type> tag not equal to catkin (which is default)
04/12/2012
Open Issues:
- desktop blockers, source install and OSX not working
- All move_it jobs are failing in source debs due to wrong versions
- Look at python version in Ringtail. The default will be python3. Hydro should be pytho3 supported.
Updates:
- fix groovy script to extract warnings from binarydeb job
- extracted tinyxml from rospack, using system dependency now
- released qt_gui_core, ros_comm (including the patches for rospy loglevel services and roscpp IPv6 support)
- rosdep:
- Added --from-paths option
- Added --ignore-src option
- Added --rosdistro option
27/11/2012
Open Issues:
- rosdoc jobs freezing
- rqt working on precise w/o crashing as much, wx is a reasonable fallback
- issue with c++ extensions, with pyqt
Updates:
- No more changes to catkin for usability in groovy, defer allplans to maybe Hydro
- debbuild status page running on Jenkins
- Groovy Documentation:
Hydro Planning
Hydro back in the rhythm, shoot for 1 week after ubuntu in april. Short cycle, mostly just refinements on Groovy
- Software Quality Certification Metrics
We’re going to be kicking off a Software QA Certification project to develop metrics and ways to verify that the metric is being met. WG workshop within 2 weeks.
Software Quality Process (http://wiki/QAProcess
We need standard best practices for how to develop effectively. Eg our recommendation to use github. We need to write down some guidelines to bring software engineering to more of the company and hopefully community. WG focus group for developing this process. Multiple levels of process, different levels of process for core released code, vs research /intern software. Goal to have a draft by the end of the year.
- ROS Projects proposal for development focus
As we look toward Hydro development I’d like to take the SIGs to another level and make semi official projects of them which have their own goals and leaders. This is more of a meta discussion about how we should set that up.
- Closely tie to REP process.
- Launch project ideas for Hydro week after groovy proper release
- Open SIG/project proposals first 2 weeks of January
20/11/2012
Open Issues:
Updates:
- Added Wiki Macros:
- Buildsystem
13/11/2012
Open Issues:
Groovy milestones organized on github: https://github.com/ros/rosdistro/issues?milestone=1&state=open
- Tutorials on wiki need adaption for catkin, spreadsheet created to track progress
Updates:
- Catkin: Split DEPENDS and CATKIN_DEPENDS enable runtime-only dependencies
- Buildfarm: Groovy script before every binarydeb job which aborts the job immediately when any upstream is broken
- rqt_robot_monitor alpha pushed, ready to be tested
- Made xylem install and remove work on Ubuntu and Mac, using system native package names
- draft for REP130 (wstool) created
- Prerelease tests should all be functional
05/11/2012
Open Issues:
- Jenkins Memory Issues
- Newer version runs out of memory with long cause change
- older version slowly but can run overnight
Updates:
- Wiki policy
- For tutorials with large overlap use Version() macro
- If there’s large divergence make two side by side copies, like C++ and Python
- rqt command line for stand alone plugins complete
- Implemented INCLUDE_DIR ordering for find_package(catkin)
- also handling non-catkin stuff as DEPENDS if find_package()-ed before
- Updated roslaunch to work for overlayed stuff
- 309 packages building
- Locally catkinized qt_gui_core, needs some more testing against rqt before commit
29/10/2012
Open Issues:
- jenkins is unstable
- Problem is that if you load one of the longer views or a reconfigure it takes an hour+ of the master full time, being close to unresponsive
- need to test stuff from debians and try things on our own desktops
- need more unit tests running on jenkins
Updates:
- ~240 packages building
- rviz and gazebo possibly building
- ipv6 ros_comm implementation reviewed, hopefully can merge before groovy release, assuming unit tests are working beforehand