Hello,

We recently stumbled upon an issue with patch synchronization, which
turned out to be a bug in Hibernate handling of Package objects, which
in turn was caused by a strange definition of hashCode() in that class.
Steps to reproduce the problem and a proposed patch follow.

Reproducing the problem:
 - clone a channel (eg. RHEL x86_64 Server 6);
 - update the original channel so that some of the patches are updated,
and in particular, so that at least one patch gets some new packages
added. Furthermore, at least one of those added packages should have a
(name, arch, EVR) triple that is already present among the original
patch's (name, arch, EVR) triples. An example is CL-SA-2013:0696, that
adds multiple packages for xulrunner-devel-17.0.5-1.el6_4-x86_64 and
xulrunner-devel-17.0.5-1.el6_4-i686;
 - pick such a patch and attempt to sync it ("Channels" -> "Manage
Software Channels" -> <your cloned channel name> -> "Patches" -> "Sync"
-> select your patch -> "Sync Patches" -> "Confirm");
 - those packages which were added to the patch with a (name, arch, EVR)
triple already in the patch will NOT be added to the updated (synced) patch.

Cause:
Among other things, ErrataFactory.syncErrataDetails() will copy packages
from the original patch to the cloned patch with the line


Justin Sherrill 2008

a85006389d436719240b49f8eea37f7550edf974
-- 
Silvio Moioli
SUSE LINUX Products GmbH
Maxfeldstraße 5, 90409 Nürnberg Germany

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to