On 21/06/2023 15:40, TOMAS FABRIZIO ORSI wrote:
    What I meant is that emerge --sync/eix --sync does this check
    instead of
    eselect repository. To me this makes sense since we can only do this
check *after* syncing.
That is a great point; I had not considered it.
So, you are saying to have emerge --sync/eix --sync check the masters
key and then warn the user of not synced up overlays, correct?

Yes

    This however would require
    that profiles/repo_name is always equal to the name entry in
    repositories.xml, I'm not sure if this is currently always the case.

I had not considered this possibility either.
If that's the case, then I believe there are to possible behaviors:
If the names do match, then emerge --sync/eix --sync could both:
      1. issue a warning of the missing overlay dependency
      2. run the command to add said overlay (with confirmation).
On the other hand, if the names do not match, a missing dependency warning
could be issued, skipping the second step.
This sounds to me to be fairly reasonable behaviour.

In the cases where the names do not match; what could be the best
solution to "fix" this? Change repositories.xml on a case by case basis?
Ask overlay owners to change their profiles/repo_name and
profiles/masters key? Neither?

I just checked the internal overlays team guide[1] and it does explicitly say that repo_name should match the repositories.xml <name>. So probably there is no problem. That being said it is possible for the owner to change repo_name and (accidentally) not update repositories.xml. These cases should be fixed but exactly how would have to be determined on a case by case basis.

In any case, this is just something to keep in mind when writing this check. It is not fully guaranteed that eselect repository can find the repository that is requested in some master= entry.

Best regards,
Andrew

[1] https://wiki.gentoo.org/wiki/Project:Overlays/Internal_Overlays_team_guide


Reply via email to