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