robust
robust copied to clipboard
Allow separate dependencies for buggy and fixed versions
Tag buggy version as a layer in the fixed image.
Plan
build-rosinstall.py: should construct a .rosinstall file for the dependencies of the buggy version of the PUTs, named deps.pre.rosinstall. build-rosinstall.py should also create a separate .rosinstall file for the dependencies of the fixed version of the PUTs, named deps.post.rosinstall. To avoid increasing build times and inflating the image size by potentially rebuilding the same dependencies, deps.post.rosinstall will only store packages whose versions do not appear in deps.pre.rosinstall.
Changes
To support this new functionality, we will need to modify the format of the .bug file. Specifically, we will need to specify a separate datetime for the bug and the fix. It's also unclear whether issues can still be used to avoid the need to specify timestamps.
Store two lists of missing dependencies: one for the buggy version, and another for the fixed version.
(Mental note for myself (I'll try to expand later): somehow use difference in dependencies between the fixed and the buggy versions of the PUT(s) to generate the two different .rosinstall files)
I've changed this issue to focus on the problem of specifying a different set of dependencies for the buggy and fixed versions of a PUT. A separate issue has been created for the related sub-problem of building a separate Docker image for the buggy and fixed versions of the PUT (#283).