sync logic doesn't mangle versions correctly when syncing within ubuntu
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | CI Train [cu2d] |
Fix Released
|
High
|
Łukasz Zemczak | |
Bug Description
We have a case where systemd-shim has the same version number (but different package contents due to source rebuild) in wily and vivid, due to a train source sync not changing the version number before uploading.
Relevant codepath is here:
http://
Note it only mangles versions when syncing ubuntu->ubuntu-rtm. Needs some logic for syncing ubuntu->ubuntu
Related branches
- Robert Bruce Park (community): Approve on 2015-06-11
- PS Jenkins bot: Approve (continuous-integration) on 2015-06-10
-
Diff: 91 lines (+36/-3)3 files modifiedcupstream2distro/version.py (+5/-1)
tests/unit/test_script_build.py (+20/-0)
tests/unit/test_version.py (+11/-2)
| Robert Bruce Park (robru) wrote : | #1 |
| Łukasz Zemczak (sil2100) wrote : | #2 |
I agree with Steve - in all our documentation I explicitly mentioned that syncs are ONLY for CI Train sources. It should be really easy to do as well as I already do such detection in the change_series() code (using re.match(
| Robert Bruce Park (robru) wrote : | #3 |
Yeah I guess change_series should just raise a BuildError and then let that bubble up into the build job which will cancel the build if the version isn't train-managed.
| Robert Bruce Park (robru) wrote : | #4 |
Er, I mean "change_series should raise a BuildError if the version regex doesn't match", then SourceSync.
| Changed in cupstream2distro: | |
| assignee: | Robert Bruce Park (robru) → Łukasz Zemczak (sil2100) |
| status: | Triaged → In Progress |
| PS Jenkins bot (ps-jenkins) wrote : | #5 |
Fix committed into lp:cupstream2distro at revision 991, scheduled for release in cupstream2distro, milestone Unknown
| Changed in cupstream2distro: | |
| status: | In Progress → Fix Committed |
| Changed in cupstream2distro: | |
| status: | Fix Committed → Fix Released |

Slangasek wants syncs disabled for non-train-owned packages, which means that SourceSync. collect_ phase needs to grow some version-detection to be able to abort syncs if versions don't match train-managed patterns.