Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] RFC: new category for container related packages, instead of app-emulation
Date: Sat, 07 Aug 2021 00:49:12
Message-Id: CAAr7Pr8_HVf5OQo7CXGPqsZYnrkjacpHf-gurYgVQVa1yQDZgQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] RFC: new category for container related packages, instead of app-emulation by William Hubbs
1 On Fri, Aug 6, 2021 at 2:12 PM William Hubbs <williamh@g.o> wrote:
2 >
3 > On Thu, Aug 05, 2021 at 05:57:06PM -0700, Alec Warner wrote:
4 > > On Thu, Aug 5, 2021 at 2:44 PM Georgy Yakovlev <gyakovlev@g.o> wrote:
5 > > >
6 > > > Hi,
7 > > >
8 > > > We've been collecting more and more container related packages in
9 > > > app-emulation/*
10 > > >
11 > > > What do you think about finally moving those packages to separate category?
12 > >
13 > > As always my opinion is that:
14 > >
15 > > (a) Categories were a design mistake.
16 > > (b) The mistake is hard to fix.
17 > > (c) It's basically low-value to try to 'correctly' categorize packages
18 > > because of A.
19 >
20 > I disagree that categories are a mistake. For one thing, they help with
21 > situations where different upstream packages have the same name (we have
22 > two docker packages for example, both named docker by their upstreams),
23 > and in my opinion they help keep the tree organized. It is nice to be
24 > able to do something like `ls -d <category>` and check out somewhat
25 > related groups of packages.
26
27 Sure, but you can build a much better mechanism to disambiguate
28 packages than a category[0].
29 Grouping packages together is again better served by a different
30 system. If you want to group packages using categories:
31
32 - A package can only be in 1 group (its category).
33 - It's hard to have custom groupings (basically requires I make an
34 overlay, move the package into a different group, and then do a
35 pkgmove in my overlay? Does this even work?)
36 - Moving packages between groups is not a trivial operation.
37
38 >
39 > I will agree that C above is subjective.
40 >
41 > > (d) Recategorizing means a bunch of stuff has to be updated.
42 >
43 > All of the updates are much easier to do since we use git, so this isn't
44 > a concern. You can set this up so it hits the tree all at once.
45
46 I think you misunderstand the cost you are imposing on users. Updating
47 git is the easy part!
48
49 You add the pkgmove.
50 You rewrite some DEPEND atoms.
51 You bump.
52
53 But the impact on *downstream*.
54
55 Everyone else who uses those atoms also needs to update them.
56
57 For portage-visible names portage will update them (so e.g. it will do
58 the pkgmove in the VDB, in your binpkg repo, in your metadata, in
59 /etc/portage/*, world, sets, etc.)
60 For non-portage visible names you are stuck updating it yourself.
61
62 - Overlays (all need to update their atoms)
63 - Any kind of scripts that drive your systems (e.g. "install
64 foo/bar-123 needs to say 'baz/bar-123' instead")
65
66 So my point is that it isn't free. That doesn't mean don't do it; just
67 understand that it isn't a free operation; or even cheap!
68
69 -A
70
71 [0] When I say it's a design mistake I am basically talking about
72 encoding metadata in a name. It's a common design mistake because then
73 the metadata changes and so does the name. Very common with naming in
74 computer science. I'm all for names that provide unambiguous packages;
75 I just want to be able to reference a package in a stable way.
76
77 >
78 > > Do people actually care what category things are in? I just use
79 > > --search or eix or whatever and the category is just this...bad
80 > > concept we attach to packages for silly historical reasons..
81 >
82 > Yes, I think they are useful like I said above.
83 >
84 > So add me to the list of folks supporting recatagorizing the packages.
85 >
86 > William