Gentoo Archives: gentoo-dev

From: A Schenck <lane_andrew@×××××××.com>
To: 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 17:20:01
Message-Id: DM6PR07MB4156AF28E69739ACA0B7F0A29DF49@DM6PR07MB4156.namprd07.prod.outlook.com
In Reply to: Re: [gentoo-dev] RFC: new category for container related packages, instead of app-emulation by A Schenck
1 On 8/6/21 11:58 AM, A Schenck wrote:
2 > On 8/5/21 5:57 PM, Alec Warner wrote:
3 >> On Thu, Aug 5, 2021 at 2:44 PM Georgy Yakovlev <gyakovlev@g.o> wrote:
4 >>> Hi,
5 >>>
6 >>> We've been collecting more and more container related packages in
7 >>> app-emulation/*
8 >>>
9 >>> What do you think about finally moving those packages to separate category?
10 >> As always my opinion is that:
11 >>
12 >> (a) Categories were a design mistake.
13 >> (b) The mistake is hard to fix.
14 >> (c) It's basically low-value to try to 'correctly' categorize packages
15 >> because of A.
16 >> (d) Recategorizing means a bunch of stuff has to be updated.
17 >>
18 >> Do people actually care what category things are in? I just use
19 >> --search or eix or whatever and the category is just this...bad
20 >> concept we attach to packages for silly historical reasons..
21 > We particularly like categories, and especially the (mostly) two-level
22 > concept in gentoo.  `emerge --search` works for some things, but often
23 > returns extra junk to filter through, when we know a project name, it's
24 > easier to just `ls /usr/portage/dev-ruby/` and see if there's a `grpc`
25 > package in it (upstream gem seems to force `-j12` for native
26 > compilation, wondered if gentoo packagers had fixed that problem). 
27 > Also, the graphical portage interface we use (and barely maintain) has a
28 > two-level category picker which even lets you select just the top-level
29 > category and see what's under several of it's subcategories:
30 >
31 > kuroo two-level category picker
32 Unsurprisingly the list dropped the image even though it was small. 
33 Here's an ancient screenshot of the two-level category-package view:
34 https://a.fsdn.com/con/app/proj/kuroo/screenshots/Kuroo4-packages.png
35 >
36 > -A
37 >
38 >
39 >> -A
40 >>
41 >>> probably app-containers/
42 >>>
43 >>> Here's the tentative list, most tools have description attached for easier
44 >>> review, 36 candidates so far, there may be more around, I only looked at
45 >>> app-emulation.
46 >>>
47 >>> app-emulation/buildah - A tool that facilitates building OCI images
48 >>> app-emulation/cadvisor - container analyzer
49 >>> app-emulation/conmon - An OCI container runtime monitor
50 >>> app-emulation/containerd - A daemon to control runC
51 >>> app-emulation/containers-storage - containers/storage library
52 >>> app-emulation/cri-o - OCI-based implementation of Kubernetes CRI
53 >>> app-emulation/cri-tools - CLI and validation tools for CRI
54 >>> app-emulation/crun - OCI Container Runtime fully written in C
55 >>> app-emulation/distrobuilder - System container image builder for LXC and LXD
56 >>> app-emulation/docker - Main offender
57 >>> app-emulation/docker-bench-security - Test for best docker practices
58 >>> app-emulation/docker-cli - Main offender cli
59 >>> app-emulation/docker-compose - Multi-container orchestration for Docker
60 >>> app-emulation/docker-credential-helpers -
61 >>> app-emulation/docker-gc - Docker garbage collection of containers and images
62 >>> app-emulation/docker-proxy - Docker container networking
63 >>> app-emulation/docker-registry -
64 >>> app-emulation/docker-swarm -
65 >>> app-emulation/flannel - An etcd backed network fabric for containers
66 >>> app-emulation/go-secbench - run and evaluate the docker security benchmark
67 >>> app-emulation/img - Standalone Dockerfile and OCI container image builder
68 >>> app-emulation/k3d - creates k3s clusters in docker
69 >>> app-emulation/kompose - Tool to move from docker-compose to Kubernetes
70 >>> app-emulation/lxc - A userspace interface for the Linux kernel containment
71 >>> app-emulation/lxc-templates -
72 >>> app-emulation/lxd - Fast, dense and secure container management
73 >>> app-emulation/nerdctl - Docker-compatible CLI for containerd
74 >>> app-emulation/podman - Main offender killer
75 >>> app-emulation/reg - Docker registry v2 command line client
76 >>> app-emulation/runc - another docker thing
77 >>> app-emulation/s6-overlay - an s6-based init system for containers
78 >>> app-emulation/sen - Terminal User Interface for docker engine
79 >>> app-emulation/skopeo - Utility for operations on container images/repositories
80 >>> app-emulation/slirp4netns - User-mode networking for unpriv network namespaces
81 >>> app-emulation/snapd - Service and tools for management of snap packages
82 >>> app-emulation/umoci - Manipulation tool for OCI images
83 >>>
84 >>> Those 4 are technically emulation related, so I'm not sure about category:
85 >>> app-emulation/docker-machine
86 >>> app-emulation/docker-machine-kvm
87 >>> app-emulation/hyperd
88 >>> app-emulation/runv