Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add fedora repo support for eext #119

Merged
merged 3 commits into from
Jul 25, 2024
Merged

Add fedora repo support for eext #119

merged 3 commits into from
Jul 25, 2024

Conversation

manith-arista
Copy link
Contributor

Few eext packages have dependency on fedora distribution. We can resolve the dependencies by creating eext packages for these package, but that will result in unnecessary creation of a lot of upstream packages.
Instead we intend to provide these dependencies through a fc40 repo snapshot. We have created 2 new repo-bundles:

  1. fc40-unsafe: upstream clone which will pull in the required dependencies
  2. fc40-snapshot: local snapshot for eext packages to refer to for dependencies

As part of this feature, we also need to add priority to each repo-bundle, since we want fedora repos to have lowest priority (fc40 should be the last resort to satisfy a dependency, if we find it elsewhere, get it from there). We define repo-bundle level priority in dnfconfig.yaml and allow users to override priority at repo level in their respective eext.yaml.

@manith-arista manith-arista self-assigned this Jul 25, 2024
Some rpms can be distributed in multiple repos, hence we need to specify
priority to the repo for eext to decide where to pick dependencies from.

Priority 1 (highest) is given to the local deps available for eext to
check before checking upstream repos.

The priority should be defined at a repo-bundle level in dnfconfig.yaml,
with a priorty > 1.
Or within the package specific eext.yaml file at a repo specific level.
This is an optional flag, the default priority is assigned by the
repo-bundle.
eext packages have a dependency on Fedora distro rpms. Adding these rpms
to eext was cumbersome due to the number of new rpms introduced.
Instead we will satisfy Fedora dependencies through a new repo bundle,
fc40-unsafe and create a snapshot fc40-snapshot to ensure build
reproducibility.

fc40-unsafe is a local cache of the required dependencies pulled in from
upstream by eext. eext developers snapshot this repo when requested by
repo owners to pull in fedora dependencies.
@manith-arista manith-arista force-pushed the manith.fedora-support branch from aaa7368 to 9457d96 Compare July 25, 2024 11:27
Update code to add check for negative priority that could be provided by
the user.
@manith-arista manith-arista merged commit 7374f58 into main Jul 25, 2024
2 checks passed
@manith-arista manith-arista deleted the manith.fedora-support branch July 25, 2024 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants