pungi/pungi
Lubomír Sedlář a435fd58da gather: Add all srpms to variant lookaside repo
The original code could cause a source RPM to be present in two variants
that have a dependency relation.

There is always only one source repo for a variant in the final compose.
When gathering packages for a variant that depends on another variant,
we need to build a temporary lookaside repo that has similar content to
the parent variant. This lookaside only contained source RPMs for
packages present the the architecture.

This could result in duplicated SRPMs in the compose.

Example situation:

 * Variant B depends on variant A.
 * A contains foo.x86_64.rpm (only on x86_64)
 * B pulls in subpackage foo-bar.s390x.rpm (on s390x)

Source repo for A will correctly contain foo.src.rpm. With original code
the srpm would also end up in B.src. By adding all sources to the
temporary lookaside Pungi will know that source repo for B doesn't need
to duplicate the package.

The refactoring to use a set to store the packages is meant to avoid
listing the same SRPM multiple times in the repo in the most common
situation when SRPM is listed in multiple architectures.

JIRA: RHELCMP-6002
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2021-07-19 14:12:44 +02:00
..
compose_metadata Format code base with black 2020-02-05 17:35:47 +08:00
ostree ostree: set umask to be more permissive for ostree operations 2020-04-17 09:20:24 +02:00
phases gather: Add all srpms to variant lookaside repo 2021-07-19 14:12:44 +02:00
scripts Cancel koji tasks when pungi terminated 2021-03-23 14:47:48 +08:00
wrappers Add task URL to watch task log 2021-06-29 09:10:28 +08:00
__init__.py Format code base with black 2020-02-05 17:35:47 +08:00
arch.py Format code base with black 2020-02-05 17:35:47 +08:00
arch_utils.py Format code 2021-03-02 18:31:45 +08:00
checks.py Format code 2021-03-02 18:31:45 +08:00
common.py Format code base with black 2020-02-05 17:35:47 +08:00
compose.py Store extended traceback for gather errors 2021-02-17 11:11:26 +01:00
config.py Format code base with black 2020-02-05 17:35:47 +08:00
createiso.py Use xorrisofs for creating ISOs when needed 2020-11-20 09:47:49 +08:00
dnf_wrapper.py Format code base with black 2020-02-05 17:35:47 +08:00
errors.py Move UnsignedPackagesError to a separate file 2021-02-08 10:16:32 +00:00
gather.py Format code 2021-03-02 18:31:45 +08:00
gather_dnf.py Fix can't link XDEV using repos as pkgset_sources 2021-04-22 14:03:12 +02:00
graph.py Format code 2021-03-02 18:31:45 +08:00
ks.py Format code base with black 2020-02-05 17:35:47 +08:00
linker.py Hardlink or copy scratch builds always 2020-08-07 18:00:19 +08:00
media_split.py Format code base with black 2020-02-05 17:35:47 +08:00
metadata.py Include images info in composeinfo.json 2020-10-14 17:57:30 +08:00
module_util.py Move import of modulemd to a separate module 2019-10-03 10:40:31 +02:00
multilib_dnf.py Format code base with black 2020-02-05 17:35:47 +08:00
multilib_yum.py Format code base with black 2020-02-05 17:35:47 +08:00
notifier.py notification: Add compose_path into the messages 2020-06-09 06:40:26 +00:00
pathmatch.py Remove FSF address from comments 2016-09-23 10:26:43 +02:00
paths.py Cancel koji tasks when pungi terminated 2021-03-23 14:47:48 +08:00
profiler.py Format code base with black 2020-02-05 17:35:47 +08:00
runroot.py Cancel koji tasks when pungi terminated 2021-03-23 14:47:48 +08:00
util.py util: Strip file:// from local urls 2021-05-06 12:37:55 +02:00