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 |