From 51e1647d79ccabbfd45e82723ed01c41ce16d853 Mon Sep 17 00:00:00 2001 From: Stephen Kitt Date: Wed, 4 Dec 2024 10:23:03 +0100 Subject: [PATCH 1/2] Split and sort RPM packages, update docs This simplifies change tracking. Some package usage descriptions were outdated, this updates them to match current use. Signed-off-by: Stephen Kitt --- package/Dockerfile.shipyard-dapper-base | 36 +++++++++++++++++-------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/package/Dockerfile.shipyard-dapper-base b/package/Dockerfile.shipyard-dapper-base index 7ddd948c..06f64c13 100644 --- a/package/Dockerfile.shipyard-dapper-base +++ b/package/Dockerfile.shipyard-dapper-base @@ -18,20 +18,17 @@ ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} PATH=/go/bin:/root/.l # findutils | make unit (find unit test dirs) # gcc | needed by `go test -race` (https://github.com/golang/go/issues/27089) # gh | backport, releases -# git | find the workspace root +# git-core | find the workspace root, git clones # golang | build -# golangci-lint | code linting -# helm | e2e tests # jq | JSON processing (GitHub API) -# kind | e2e tests -# kube-ps1 | print out kube context in dapper shell -# kubectl | e2e tests (in kubernetes-client) -# make | OLM installation +# kubernetes-client | kubectl, used in e2e tests +# make | builds # moby-engine | Docker (for Dapper) # moreutils | sponge (for system tests) +# pip | Python package installation # procps-ng | watch (for installing ACM) # python3-jinja2-cli | Jinja2 template engine (used by OVN's kind setup script) -# qemu-user-static | Emulation (for multiarch builds) +# qemu-user-static-* | Emulation (for multiarch builds) # skopeo | container image manipulation # unzip | ZIP extraction # upx | binary compression @@ -43,10 +40,27 @@ ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} PATH=/go/bin:/root/.l # - DNF cache # - Any unnecessary packages and executables RUN dnf -y install --nodocs --setopt=install_weak_deps=False \ - gcc git-core curl moby-engine make golang kubernetes-client \ - findutils moreutils upx jq gitlint procps-ng pip \ + curl \ + file \ + findutils \ + gcc \ + gh \ + git-core \ + gitlint \ + golang \ + jq \ + kubernetes-client \ + make \ + moby-engine \ + moreutils \ + pip \ + procps-ng \ + python3-jinja2-cli \ qemu-user-static-aarch64 qemu-user-static-x86 \ - python3-jinja2-cli skopeo file unzip gh yq && \ + skopeo \ + unzip \ + upx \ + yq && \ rpm -e --nodeps containerd && \ rpm -qa "selinux*" | xargs -r rpm -e --nodeps && \ dnf -y clean all && \ From 50157e09f496842b339d081d188205ab34a912ec Mon Sep 17 00:00:00 2001 From: Stephen Kitt Date: Wed, 4 Dec 2024 11:01:35 +0100 Subject: [PATCH 2/2] Provide protoc in the base image This avoids relying on a manually-maintained version in Submariner. Signed-off-by: Stephen Kitt --- package/Dockerfile.shipyard-dapper-base | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/Dockerfile.shipyard-dapper-base b/package/Dockerfile.shipyard-dapper-base index 06f64c13..0143cf50 100644 --- a/package/Dockerfile.shipyard-dapper-base +++ b/package/Dockerfile.shipyard-dapper-base @@ -27,6 +27,7 @@ ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} PATH=/go/bin:/root/.l # moreutils | sponge (for system tests) # pip | Python package installation # procps-ng | watch (for installing ACM) +# protobuf-compiler | protobuf compilation # python3-jinja2-cli | Jinja2 template engine (used by OVN's kind setup script) # qemu-user-static-* | Emulation (for multiarch builds) # skopeo | container image manipulation @@ -55,6 +56,7 @@ RUN dnf -y install --nodocs --setopt=install_weak_deps=False \ moreutils \ pip \ procps-ng \ + protobuf-compiler \ python3-jinja2-cli \ qemu-user-static-aarch64 qemu-user-static-x86 \ skopeo \