We have our own private OBS 2.3.6 instance.
I have a project which has two architectures which are i586 and armv7l.
I have a cross tool package and configure ExportFilter in project conf
like this "ExportFilter: \.armv7l\.rpm$ armv7l"
Suppose the cross tool package is 'a' and the result rpms are
a.i586.rpm, cross-a.armv7l.rpm and cross-a.armv7hl.rpm.
After package 'a' has been built, I have cross-a.rpm in 'armv7l/:full'
and the cross tool is available for armv7l repository.
But If I disable and wipe the package 'a' from i586 arch, the cross-a
package is still available for armv7l repository.
I observed that the import event handling code in scheduler had some hole.
The i586 scheduler sent import event along with 'replaced.xml' which
has the list of packages with 'id'.
When armv7l scheduler got the event, it created oldrepo and the key
was the just name of rpm plus '.rpm'.
In this case the oldrepo had only one entry which was
cross-a.armv7hl.rpm because the keys from two packages would be same
and cross-a.armv7hl.rpm overwrote cross-a.armv7l.rpm.
When scheduler tried to delete imported package from armv7l/:full, it
compared 'id' of package. But it was different in this case. because
the package in :full was cross-a.armv7l.rpm but the compared 'id' was
from cross-a.armv7hl.rpm. So, the scheduler didn't delete it from
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-buildservice+owner(a)opensuse.org