Gentoo Archives: gentoo-dev

From: Michael Lienhardt <michael.lienhardt@×××××××.net>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Questions on overlays, repositories and PMS
Date: Fri, 23 Feb 2018 23:41:55
Message-Id: 5fab108a-6b98-7bf2-b40f-1a9f8f3fc31c@laposte.net
In Reply to: Re: [gentoo-dev] Questions on overlays, repositories and PMS by "Vadim A. Misbakh-Soloviov"
1 Thank you for your answers :).
2 I have few followup questions.
3
4 Il 23/02/2018 19:09, Vadim A. Misbakh-Soloviov ha scritto:
5 >> Or in other word, it is enough to only look at /etc/portage/repos.conf?
6 > No
7
8 What else should I look for?
9
10 >> - is the package.mask file apply only on the packages of that repository, or on every packages of
11 >> every repositories listed in /etc/portage/repos.conf?
12 > Actually, I can't remember the correct answer right now, but definitelly it have the effect on repos, that states this repo as master.
13
14 If you get the correct answer, I'm really interested.
15
16 Also, what does mean "that states this repo as master"?
17 - every repo that have a profiles/package.mask file is implicitly the master of every other repository?
18 - there can be only one repo with a profiles/package.mask file?
19 - other possible meaning?
20
21 >> is such information implicitly inherited from the DEFAULT repository (even
22 >> though https://wiki.gentoo.org/wiki//etc/portage/repos.conf states that it
23 >> is not)?
24 > Usually, that info is inerited from `master` repo of the current repo (that is stated in the layout conf file)
25
26 You're right, I forgot about the metadata/layout.conf
27
28 This makes me think: a repository can have four different names:
29 - the name of the file in /etc/portage/repos.conf/
30 - the name specified in the section of the /etc/portage/repos.conf/
31 - the name in the metadata/layout.conf
32 - the name in the profiles/repo_name
33
34 All these names should be equal, but what happens if they aren't?
35 In particular, which of the four names is used to resolve the masters dependency?
36
37 >> 4. is the "masters" attribute in /etc/portage/repos.conf make the repository
38 >> inherit other data than the eclasses?
39 > Yes, but that attribute is usually not recommended for general use.
40
41 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?
42 Which other data is inherited?
43
44 Also, what happen when some inherited data is also declared locally?
45 - for instance when a master and the local repository both share the same eclass?
46 - 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?
47
48 >> 5. since every repos can have a profiles/categories file, is the file
49 >> /etc/portage/categories obsolete (or should it be)?
50 > Why?
51
52 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).
53 So I guess it is not deprecated.
54
55 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.
56 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.
57 But in this case too, it makes more sense to me to have repository-specific data declared locally in the repository itself.
58
59
60 Best,
61 Michael Lienhardt