Gentoo Archives: gentoo-project

From: "Michał Górny" <mgorny@g.o>
To: gentoo-project@l.g.o
Subject: [gentoo-project] Setting a consistent vocabulary for ebuild-related stuff
Date: Fri, 10 Apr 2015 13:28:30
Message-Id: 20150410152806.03517ef1@pomiot.lan
1 Hello, developers.
2
3 Since Gentoo is quite an aging technical community, a lot of wording
4 has accumulated to describe various ebuild-related aspects, some of it
5 rather confusing and/or outdated. Therefore, I would like to suggest
6 that we establish some 'proper' vocabulary for use in official
7 documentation, and deprecate some of the outdated concepts.
8
9 This is meant to serve two goals particularly:
10
11 1. Reduce user/developer confusion. In particular, the long-time
12 confusing two uses of 'Portage', but also working towards vocabulary
13 consistent with other tools and distributions.
14
15 2. Put more emphasis on flexibility of Gentoo -- which I believe should
16 be advertised as its major advantage.
17
18
19 Now what I suggest:
20
21 A. Portage vs the package manager
22 ---------------------------------
23
24 I don't know many distributions that officially support more than one
25 distinct package manager. Even some of the Gentoo derivatives (e.g.
26 Funtoo) don't do that. As I see it, we should be proud of that.
27
28 For this reason, the official docs should treat Portage
29 as the reference package manager rather than the only package manager.
30 That is:
31
32 - use 'the package manager' whenever the relevant action or information
33 can be applied to any Gentoo package manager conforming to the PMS,
34
35 - use 'Portage' whenever the relevant information applies purely to
36 Portage the package manager.
37
38
39 B. Ebuild vs package
40 --------------------
41
42 'Ebuild' is the script. If you say 'install an ebuild', that ends up
43 a bit confusing. Also note that a binary package is not an 'ebuild',
44 yet it is roughly equivalent to one. So:
45
46 - use 'ebuild' when referring directly to the .ebuild file,
47
48 - use 'package' whenever referring to the generic magic thing that
49 results of combining ebuild with eclasses, profiles and other stuff.
50
51 So: 'send me the ebuild' but 'install the package'.
52
53
54 C. Repository vs tree vs overlay vs Portage...
55 ----------------------------------------------
56
57 This one is harsh since it has a lot of historic context. Long story
58 short, none of the Gentoo package managers work in pure 'overlay' logic
59 anymore, so best to stop using that term. Also, better to leave 'trees'
60 to the forests.
61
62 And finally, Portage is the package manager and let's leave it at that.
63 No need to cause users to confuse developers even further.
64
65 Therefore:
66
67 - Don't use 'Portage', 'tree', 'overlay' or any other thing. Just call
68 it a 'repository' (or 'ebuild repository', if you want to be more
69 specific and distinguish it from 'binary package repository').
70
71 - When referring to the main Gentoo repository, call it the 'Gentoo
72 repository'. That's how it is named these days (read repo_name!),
73 and that's the least confusing name you can use.
74
75 - When referring to other repositories, you can call them 'third-party
76 repositories' or alike. No point in calling them 'overlays' since
77 they are not laid over anything anymore.
78
79 This is a great step towards decentralization and a good emphasis on
80 the fact that Gentoo is flexible and can work with many different
81 repositories.
82
83
84 Your thoughts?
85
86 --
87 Best regards,
88 Michał Górny

Replies