Just some background - during the check of the second copy, it looks like _checkArchiveConflicts() is ignoring the conflicting source due to the following code: (lib/lp/soyuz/scripts/packagecopier.py:281)
# If the conflicting candidate (which we already know refer to
# the same sourcepackagerelease) was found in the copy
# destination series we don't have to check its building status
# if binaries are included. It's not going to change in terms of
# new builds and the resulting binaries will match. See more
# details in `ISourcePackageRelease.getBuildsByArch`.
if (candidate.distroseries.id == series.id and self.archive.id == source.archive.id and self.include_binaries): continue
So the (second) copy with binaries succeeds but *doesn't* create a new source publishing record (afaics locally, and from _do_direct_copy).
Jelmer will continue looking into why this lead to the already published tar.gz during process accepted.
Just some background - during the check of the second copy, it looks like _checkArchiveCo nflicts( ) is ignoring the conflicting source due to the following code: (lib/lp/ soyuz/scripts/ packagecopier. py:281)
# If the conflicting candidate (which we already know refer to lease) was found in the copy Release. getBuildsByArch `. distroseries. id == series.id and
self. archive. id == source.archive.id and
self. include_ binaries) :
continue
# the same sourcepackagere
# destination series we don't have to check its building status
# if binaries are included. It's not going to change in terms of
# new builds and the resulting binaries will match. See more
# details in `ISourcePackage
if (candidate.
So the (second) copy with binaries succeeds but *doesn't* create a new source publishing record (afaics locally, and from _do_direct_copy).
Jelmer will continue looking into why this lead to the already published tar.gz during process accepted.