-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fetch_binary_drivers] new [fetch_drivers] package #27
Changes from 1 commit
f2fab5b
8e144f9
32f18f8
5f022ca
529db79
ead867e
b144529
c5ee991
d305db0
4432ece
68d33fa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,9 +29,28 @@ | |
|
||
|
||
<buildtool_depend>catkin</buildtool_depend> | ||
|
||
<!-- mk is actually the only build time depend; it just pulls down a the compiled objects. --> | ||
<build_depend>mk</build_depend> | ||
<exec_depend>actionlib</exec_depend> | ||
|
||
<!-- system dependencies which the drivers dyanmically link against --> | ||
<exec_depend>boost</exec_depend> | ||
<exec_depend>curl</exec_depend> | ||
<exec_depend>python</exec_depend> | ||
<exec_depend>yaml-cpp</exec_depend> | ||
|
||
<!-- ros msgs which the drivers depend on --> | ||
<exec_depend>actionlib_msgs</exec_depend> | ||
<exec_depend>diagnostic_msgs</exec_depend> | ||
<exec_depend>fetch_driver_msgs</exec_depend> | ||
<exec_depend>fetch_auto_dock_msgs</exec_depend> | ||
<exec_depend>nav_msgs</exec_depend> | ||
<exec_depend>power_msgs</exec_depend> | ||
<exec_depend>robot_calibration_msgs</exec_depend> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. todo: ensure that these are the same as the ones we used when building the binary drivers. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. you won't be able to do that -- the ROS buildfarm / repos only contain the latest debs - once a new version is synced, the old ones go away. Hardcoding the value would make your package uninstallable at best. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @mikeferguson: would a nightly build job of our binaries, ensuring we’ve always got the latest dependencies work here? @cjds and I were hoping to open source the Dockerfile & Python script which builds the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @moriarty even having the released deb download a nightly binary build is a challenge -- when a sync to public happens, you'd have a ~24 hour window where the version built against public is no longer right. (and that sync happens every ~ 2 weeks, so that's about 7% downtime). Also how do you make it work on both shadow-fixed (where developers tend to test) and the main ros repo? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 😞 We might need a second version setup up and built against shadow-fixed, this still doesn't fix the original problem, and it also wouldn't be clear how to set that up so that the shadow-fixed pulled a FROM ros:melodic-robot-bionic (As mentioned @cjds will cleanup the creation process and we plan to put them: And it works now, but that's likely because there hasn't been any API/ABI breaking changes, which is not always guaranteed. For the most part, the 7% downtime is a worst case calculation coming from 24hr every 2 weeks. If the dependencies are part of the core ros repositories, I think the API/ABI is stable enough or at least suppose to be... For non-core, and not released by us then it's just a risk that we'll probably need to take. Our plan, was to setup a mirror of ROS, which we manually trigger a sync on. By pushing this into the public build farm, our internal If we sync our mirror manually, after testing to know we're not in the 7% downtime, then we'll get stability and more frequent updates. For the 7% of possible down time for the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @clalancette is the ROS Boss for Melodic, so it's up to him to decide when the syncs happen, though I think they've been trying to keep a regular cadence. Looking at the discourse posts, it's more like once a month, though maybe that will change. Perhaps you can anticipate the syncs and be prepared with updated packages of your own to sync in order to minimize the period where your debs are out of date. We do usually announce an intention to sync a week or two before doing it, with the intention that people could test it for unintended regressions. I don't know if this would be relevant as well, but there's this recent announcement by @nuclearsandwich: https://discourse.ros.org/t/announcing-ros-snapshot-repositories/7705 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My intention is to sync Melodic every two weeks, though I've basically never been able to achieve that due to regressions that I have to fix for every sync. So the cadence has indeed been more like once a month. I intend to continue to attempt to sync every two weeks unless there is a compelling reason to change that. So if you have reasons you'd like it to change, please let me know and we can consider it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @nickswalker and @mikeferguson I wanted to give you a warning: just in case you've been running melodic and testing with Fetch's using ros-shadow-fixed this is now there: http://repositories.ros.org/status_page/ros_melodic_default.html?q=fetch_ @erelson will do a test on hardware using the ros-shadow-fixed before we make an official announcement with links to upgrade documentation. So: best case, everything works, but it's more likely that the official announcement to the fetch user mailing lists is going to be not the upcoming ros melodic sync, but the one after. If we're really unlucky we could be in one of those 7% downtime scenarios which was mentioned above. |
||
<exec_depend>sensor_msgs</exec_depend> | ||
|
||
<!-- ros dependencies wich the drivers dynamically link against --> | ||
erelson marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<exec_depend>actionlib</exec_depend> | ||
<exec_depend>robot_controllers</exec_depend> | ||
<exec_depend>robot_controllers_interface</exec_depend> | ||
<exec_depend>rosconsole</exec_depend> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't find a reference in the drivers to auto_dock
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cjds it might be stripped out of the research platform drivers.