Dne 09. 01. 23 v 13:33 Thorsten Leemhuis napsal(a):
> 1) Create project "kernel-vanilla-mainline" in Copr
>
> 2) Create project "kernel-vanilla-mainline-wo-mergew" in Copr and in
> settings set:
>
> * external repositories: copr://user/kernel-vanilla-mainline
>
> * Runtime dependencies: copr://user/kernel-vanilla-mainline
>
> 3) When you build into "kernel-vanilla-mainline" then the build will be
> available in both repositories. Available both as build requires and
> even as run-time because:
>
> 4) when you run 'dnf copr enable kernel-vanilla-mainline-wo-mergew" then
> it will enable "kernel-vanilla-mainline" too. So all build from both
> project will be available for users of "kernel-vanilla-mainline-wo-mergew"
Thx for outlining thing. Hmmm, that sounds doable, but one question:
Will dnf do the right thing automatically (and not bother users with any
questions!) when I change the setting outlined in "2" at a later point
(e.g. when the next merge window starts I would point it to
kernel-vanilla-stable instead; after two weeks, when the merge window
ended, I would switch back)?
Hmm, no.
The runtime dependency is evaluated when user runs:
dnf copr enable
The dependency can be transitive, but should not change any time later.
But reading
https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories#Configure_the_...
again... it should
work the other way around:
1) project "kernel-vanilla-stable"
2) project "kernel-vanilla-mainline-wo-mergew" which depends (both BR and
runtime) on "kernel-vanilla-stable"
3) project "kernel-vanilla-mainline" which depends on
"kernel-vanilla-mainline-wo-mergew".
You build stable kernel to "kernel-vanilla-stable" .
You build a git snapshots are built to "kernel-vanilla-mainline-wo-mergew" when
there it is NOT merge window
You build a git snapshots to "kernel-vanilla-mainline" when there IS a merge
window.
This way the dependency does not change.
And users of kernel-vanilla-mainline-wo-mergew will get git snapshots all the time except
the merge window.
Users of kernel-vanilla-mainline will get git snapshots all the time. Because it is either
build directly to this
project during merge window or inherited from
"kernel-vanilla-mainline-wo-mergew" when there is not a merge window.
You just need to flip your script at the beginning and end of merge window. Which I guess,
you have to do anyway.
I hope I understand your structure correctly :)
Miroslav