Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 923019 - tree-layout: Loosen restrictions on reusing package and slot names in updates/
Summary: tree-layout: Loosen restrictions on reusing package and slot names in updates/
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PMS/EAPI
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2024-01-27 13:03 UTC by Ulrich Müller
Modified: 2024-02-08 09:43 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
tree-layout.tex: Loosen restrictions on reusing package and slot names (0001-tree-layout.tex-Loosen-restrictions-on-reusing-packa.patch,1.37 KB, patch)
2024-01-27 13:04 UTC, Ulrich Müller
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Müller gentoo-dev 2024-01-27 13:03:22 UTC
For the rationale, see discussion in https://github.com/gentoo/devmanual/pull/326:

----------------------------------------------------------------------

thesamesam commented 2024-01-21:

Does the relevant section
<https://dev.gentoo.org/~ulm/pms/head/pms.html#section-4.4.4> of PMS
need clarification?

It says:

> Any name that has appeared as the origin of a move must not be
> reused in the future

I suppose it doesn't say "has ever".

----------------------------------------------------------------------

mgorny commented 2024-01-21:

> Does the relevant section
> <https://dev.gentoo.org/~ulm/pms/head/pms.html#section-4.4.4> of PMS
> need clarification?
>
> It says:
>
>> Any name that has appeared as the origin of a move must not be
>> reused in the future
>
> I suppose it doesn't say "has ever".

Probably yes. I suppose it's going to be hard to formally convey the
right meaning.

----------------------------------------------------------------------

ulm commented 2024-01-21:

We had a previous discussion in bug 296713
<https://bugs.gentoo.org/296713>, where the conclusion was that
mistakes can be corrected before they hit the rsync mirrors. Apart
from that case, moves are pretty much permanent and cannot be
reverted.

Are we sure that this change won't open up possible undefined
behaviour, especially when considering multiple repositories and
binary packages?

----------------------------------------------------------------------

mgorny commented 2024-01-22:

> Are we sure that this change won't open up possible undefined
> behaviour, especially when considering multiple repositories and
> binary packages?

I can't think of anything worse than what we have right now. The worst
mess would be if overlay copies our |pkgmove| entry so ::gentoo would
specify 'B → A' and the overlay 'A → B'. However, there's really no
reason why'd they do that, and we can't protect against them doing
something like that anyway.

My understanding is that if you move package back, and remove the
original move entry, then:

* packages (installed or binary) that didn't have the original move
  applied won't have any changes done to them (which is fine)

* packages that have the original move applied will be moved back

----------------------------------------------------------------------

ulm commented 2024-01-22:

What do we do for PMS (which I'd rather not expand too much)? Would
something like the following be sufficient?

-Any name that has appeared as the origin of a move must not be
-reused in the future.
+Any name that has ever appeared as the origin of a move must not be
+reused by another package in the future.

----------------------------------------------------------------------

thesamesam commented 2024-01-22:

> What do we do for PMS (which I'd rather not expand too much)? Would
> something like the following be sufficient?
>
> -Any name that has appeared as the origin of a move must not be
> -reused in the future.
> +Any name that has ever appeared as the origin of a move must not be
> +reused by another package in the future.

Wouldn't this imply we can never cleanup |updates/|, or at least must
have |pkgcheck| check git history or similar, to avoid accidental
reuse by e.g. restoring a last-rited package, or adding a new package
with an ancient name?

----------------------------------------------------------------------

mgorny commented 2024-01-22:

> What do we do for PMS (which I'd rather not expand too much)? Would
> something like the following be sufficient?
>
> -Any name that has appeared as the origin of a move must not be
> -reused in the future.
> +Any name that has ever appeared as the origin of a move must not be
> +reused by another package in the future.

That would work for me. Though TBH I think PMS is stepping too much
into the "policy" area here. Perhaps it would be cleaner to explain
what the consequences would be.

----------------------------------------------------------------------

ulm commented 2024-01-22:

Thinking about it, I'd also be happy to revert
https://gitweb.gentoo.org/proj/pms.git/commit/?id=3ba90e4a4918cfe820bb7c627bef2fc0d5a9fed5
and leave the policy for the devmanual.

----------------------------------------------------------------------

thesamesam left a comment 2024-01-27:

[...]

wrt PMS: I feel like we still need to say something about not reusing
names (we don't want conflicting updates entries?), just not about how
long they are there for? Or do we have something for that already?

----------------------------------------------------------------------

ulm commented 2024-01-27:

> wrt PMS: I feel like we still need to say something about not
> reusing names (we don't want conflicting updates entries?), just not
> about how long they are there for? Or do we have something for that
> already?

How about this?
"At any given time, a name that appears as the origin of a move may
not be used as a qualified package name in the repository. A slot that
appears as the origin of a slot move may not be used by packages
matching the spec of that slot move."

----------------------------------------------------------------------

thesamesam commented 2024-01-27:

perfect, thanks!

----------------------------------------------------------------------

mgorny commented 2024-01-27:

Yes, that sounds about right. Also clearly splits specification from
policy.

----------------------------------------------------------------------
Comment 1 Ulrich Müller gentoo-dev 2024-01-27 13:04:39 UTC
Created attachment 883250 [details, diff]
tree-layout.tex: Loosen restrictions on reusing package and slot names
Comment 2 Larry the Git Cow gentoo-dev 2024-02-08 09:43:25 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/proj/pms.git/commit/?id=47772dd3b715953dda0e663c62d31814043f9df6

commit 47772dd3b715953dda0e663c62d31814043f9df6
Author:     Ulrich Müller <ulm@gentoo.org>
AuthorDate: 2024-01-27 09:04:54 +0000
Commit:     Ulrich Müller <ulm@gentoo.org>
CommitDate: 2024-01-27 13:03:44 +0000

    tree-layout.tex: Loosen restrictions on reusing package and slot names
    
    Closes: https://bugs.gentoo.org/923019
    Signed-off-by: Ulrich Müller <ulm@gentoo.org>

 tree-layout.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)