Thank you for your answers :).
I have few followup questions.

Il 23/02/2018 19:09, Vadim A. Misbakh-Soloviov ha scritto:
Or in other word, it is enough to only look at /etc/portage/repos.conf?
No

What else should I look for?

- is the package.mask file apply only on the packages of that repository, or on 
every packages of
every repositories listed in /etc/portage/repos.conf?
Actually, I can't remember the correct answer right now, but definitelly it 
have the effect on repos, that states this repo as master.

If you get the correct answer, I'm really interested.

Also, what does mean "that states this repo as master"?
 - every repo that have a profiles/package.mask file is implicitly the master 
of every other repository?
 - there can be only one repo with a profiles/package.mask file?
 - other possible meaning?

is such information implicitly inherited from the DEFAULT repository (even
though https://wiki.gentoo.org/wiki//etc/portage/repos.conf states that it
is not)?
Usually, that info is inerited from `master` repo of the current repo (that is 
stated in the layout conf file)

You're right, I forgot about the metadata/layout.conf

This makes me think: a repository can have four different names:
 - the name of the file in /etc/portage/repos.conf/
 - the name specified in the section of the /etc/portage/repos.conf/
 - the name in the metadata/layout.conf
 - the name in the profiles/repo_name

All these names should be equal, but what happens if they aren't?
In particular, which of the four names is used to resolve the masters 
dependency?

4. is the "masters" attribute in /etc/portage/repos.conf make the repository
inherit other data than the eclasses?
Yes, but that attribute is usually not recommended for general use.

I guess the masters attribute in /etc/portage/repos.conf overrides the one in 
the metadata/layout.conf, and that's why it is not recommended, right?
Which other data is inherited?

Also, what happen when some inherited data is also declared locally?
 - for instance when a master and the local repository both share the same 
eclass?
 - or if the profiles/categories is inherited but also declared locally: does 
the local declaration override the one from the masters, or all the category 
lists are merged together?

5. since every repos can have a profiles/categories file, is the file
/etc/portage/categories obsolete (or should it be)?
Why?

Because this file is useless if every repository declare its own categories 
(that's what I understand from the documentation 
https://wiki.gentoo.org/wiki//etc/portage/categories).
So I guess it is not deprecated.

My experience is that it is far more maintainable to have the repositories not 
depending on unreliable external data (the /etc/portage/categories file) to 
work.
Hence, the only case I can see where it is not necessary for a repository to 
have its own local profiles/categories file (or having it inherited from some 
master) is when the repository is user-defined and not distributed to anyone.
But in this case too, it makes more sense to me to have repository-specific 
data declared locally in the repository itself.


Best,
Michael Lienhardt

Reply via email to