Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: [RFC] PROPERTIES=virtual for meta-packages (clarification of definition)
Date: Tue, 26 Aug 2008 14:20:42
Message-Id: pan.2008.08.26.14.20.07@cox.net
In Reply to: Re: [gentoo-dev] Re: [RFC] PROPERTIES=virtual for meta-packages (clarification of definition) by Ciaran McCreesh
1 Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> posted
2 20080826142044.28367055@××××××××××.com, excerpted below, on Tue, 26 Aug
3 2008 14:20:44 +0100:
4
5 > On Tue, 26 Aug 2008 06:39:38 +0000 (UTC) Duncan <1i5t5.duncan@×××.net>
6 > wrote:
7 >> But I think virtual works just fine for kde-base/kde, too, if one
8 >> simply reads it literally -- it's a virtual package in that it doesn't
9 >> install anything itself, even if it's a meta-package [...]
10 >
11 > So what does 'virtual' actually mean then, and how is it related to the
12 > defined behaviour of this property?
13
14 I'm unsure of whether that was intended to be a rhetorical question or
15 not, so taking it literally...
16
17 According to kdict/WordNet:
18
19 2: being such in essence or effect though not in actual fact
20
21 Extending that to the technical/computing realm, again kdict, this time
22 FOLDOC and Jargon file:
23
24 <jargon, architecture> (Via the technical term virtual
25 memory, probably from the term "virtual image" in optics)
26
27 1. Common alternative to logical; often used to refer to the
28 artificial objects (like addressable virtual memory larger
29 than physical memory) created by a computer system to help the
30 system control access to shared resources.
31
32 2. Simulated; performing the functions of something that isn't
33 really there. An imaginative child's doll may be a virtual
34 playmate.
35
36 Opposite of real or physical.
37
38
39 So a virtual package would have the essence and effects of a real one
40 (dependencies and the like) but not be "real" in some way (here, zero-
41 install-cost, or more correctly, only the install cost of the
42 dependencies).
43
44 More directly, a package that doesn't actually install anything itself,
45 only having dependencies that ensure other packages are installed.
46
47 In original Gentoo usage, virtual packages didn't have ebuilds at all,
48 but referred to dependencies that several different packages could
49 provide, with the the profile generally specifying a default. Now many
50 of them have ebuilds, but the general idea of not installing anything
51 directly themselves, only thru dependencies, remains. This is equally
52 true of the original no-ebuild virtuals, those ebuilds in the virtual/
53 categories, and various meta-packages such as kde and kde-meta. Thus,
54 they fit the broader defintion of "virtual" in a literal sense,
55 regardless of where they are located in the category tree.
56
57 However, I like the idea someone else proposed as well. Move all these
58 packages into the virtual category. That could of course be expanded to
59 include java-virtuals if desired, since virtual is still part of the
60 category name. Either as a single category or as anything with "virtual"
61 in the category, this would make things easier for both the package
62 manager (making the property unnecessary) and the user, who would then
63 know on sight (in the tab-completion and in --pretend/ask as well as
64 various $PM messages) which packages were virtual.
65
66 Putting all virtual packages in the virtual category/ies would certainly
67 simplify the task of explaining to confused users why removing say kde-
68 base/games wanted to remove virtual/kde (instead of kde-base/kde), but
69 wouldn't directly remove kdebase (tho emerge --depclean would then want
70 to do so, until the user did an emerge --no-replace kdebase, at least),
71 to use an example I saw in a different context recently.
72
73 I therefore believe I like just moving them all to a *virtual*/ category
74 better, thus obviating the need for that particular property in the first
75 place.
76
77 --
78 Duncan - List replies preferred. No HTML msgs.
79 "Every nonfree program has a lord, a master --
80 and if you use the program, he is your master." Richard Stallman

Replies