1 |
On Thu, May 17, 2018 at 11:44 AM Gerion Entrup <gerion.entrup@×××××.de> |
2 |
wrote: |
3 |
|
4 |
> The VERSIONS approach does not break the old mechanism. So if a patch |
5 |
> needs to be applied, the multiversion ebuild (that contains other versions |
6 |
> as well, say foobar.ebuild with VERSIONS="1.0 1.1 1.2") can just be |
7 |
copied, |
8 |
> renamed with the revbump number (to foobar-1.0-r1.ebuild) and completed |
9 |
> with the apply line. Once the old versions should be deleted the VERSIONS |
10 |
> variable can be adjusted (to VERSIONS="1.1 1.2"). |
11 |
|
12 |
|
13 |
Sure, but now you're back to single-version ebuilds except that you have to |
14 |
stick the version inside the ebuild instead of just in the filename. |
15 |
|
16 |
When would you actually get any of the code-sharing benefits of |
17 |
multi-version ebuilds? If you fork them anytime there is a revbump then to |
18 |
actually share code you'd need the ebuilds for both versions to be issued |
19 |
at the same time and have near-identical code. How often does that happen? |
20 |
|
21 |
I think in practice this just makes things more complicated. |
22 |
|
23 |
And this problem isn't just limited to keywording. If you don't want to |
24 |
make retroactive changes to released packages then you need to make all |
25 |
code changes conditional on version, which makes the ebuild a rat's nest of |
26 |
conditionals. |
27 |
|
28 |
I could really only see something like this working if the entire Gentoo |
29 |
repo were release-based, because then you'd tag a release, and then you can |
30 |
modify all the code you want in-place because it wouldn't affect anything |
31 |
in production. Then you do a round of QA and issue a new release. Since |
32 |
Gentoo's QA operates at the package-version level you really need to make |
33 |
your changes in new package-versions (including ebuild revision numbers). |
34 |
|
35 |
-- |
36 |
Rich |