ubuntu-bugcontrol team mailing list archive
-
ubuntu-bugcontrol team
-
Mailing list archive
-
Message #04822
[Merge] ~octagalland/ubuntu-qa-tools:unembargo_check_esm_versions into ubuntu-qa-tools:master
Octavio Galland has proposed merging ~octagalland/ubuntu-qa-tools:unembargo_check_esm_versions into ubuntu-qa-tools:master.
Commit message:
unembargo: require --force to release esm package version to archive
Requested reviews:
Marc Deslauriers (mdeslaur)
Ubuntu Security Team (ubuntu-security)
Ubuntu Bug Control (ubuntu-bugcontrol)
For more details, see:
https://code.launchpad.net/~octagalland/ubuntu-qa-tools/+git/ubuntu-qa-tools/+merge/488854
--
Your team Ubuntu Bug Control is requested to review the proposed merge of ~octagalland/ubuntu-qa-tools:unembargo_check_esm_versions into ubuntu-qa-tools:master.
diff --git a/security-tools/unembargo b/security-tools/unembargo
index c92bb7e..ca10fa5 100755
--- a/security-tools/unembargo
+++ b/security-tools/unembargo
@@ -300,22 +300,35 @@ for pkg_name in args:
seen[series_name] = sorted(seen[series_name], cmp=lambda x, y: apt_pkg.version_compare(
x.source_package_version, y.source_package_version), reverse=True)
+ source_item = seen[series_name][0]
+
# lookup series milestones and warn if any are approaching
+ approaching_milestone = False
milestone = pending_milestone(ubuntu, series_name)
- if milestone is None:
- unembargo.append(seen[series_name][0])
- else:
+ is_milestone_approaching = milestone is not None
+ if is_milestone_approaching:
print("WARNING: %s is approaching milestone %s (due %s)" %
(series_name, milestone.name,
time.strftime("%Y-%m-%d", milestone.date_targeted.timetuple())))
print("NOTE: Please coordinate with the #ubuntu-release team before releasing.")
- if opt.force:
- print("NOTE: unembargo for %s will continue due to use of --force." % (series_name))
- unembargo.append(seen[series_name][0])
- else:
- print("NOTE: To override this check and publish anyway please use the --force.")
- print("NOTE: unembargo for %s will be skipped." % (series_name))
+ # perform consistency check on packages with esm versions
+ name = source_item.source_package_name
+ version = source_item.source_package_version
+ version_matches_destination = True
+ if 'esm' in version and not 'esm' in opt.destination:
+ version_matches_destination = False
+ print("WARNING: package %s has ESM version: %s, but it is being published to non-ESM destination: %s." % (name, version, opt.destination))
+
+ # add item to unembargo list if it either matches all criteria or is forced
+ if not is_milestone_approaching and version_matches_destination:
+ unembargo.append(source_item)
+ elif opt.force:
+ print("NOTE: unembargo of %s for %s will continue due to the use of --force." % (name, series_name))
+ unembargo.append(source_item)
+ else:
+ print("NOTE: To override checks and publish anyway please use the --force.")
+ print("NOTE: unembargo of %s for %s will be skipped." % (name, series_name))
# Publish
for source_item in unembargo: