-
Task
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
-
-
Request
Build and provide the nfpm RPM (goreleaser/nfpm) for Red Hat AI, so it can be consumed from Red Hat repositories instead of third-party GitHub releases.
Use case
nfpm is required to build the code-server RPM in the ODH & RHDS notebooks images. The hermetic Dockerfile installs nfpm in the rpm-base stage to package the built code-server into an RPM. Without an AIPCC-built nfpm, we currently prefetch nfpm from GitHub releases as generic artifacts for all architectures.
Dockerfile reference
h1. [HERMETIC] Install nfpm (RPM packager) from prefetched RPM
RUN dnf install -y \
nodejs nodejs-devel npm \
...
/cachi2/output/deps/generic/nfpm-2.44.1-1.$(uname -m).rpm && \
Package details
| Field | Value |
|---|---|
| Package name | nfpm |
| Upstream | goreleaser/nfpm |
| Version needed | 2.44.1 (we currently use nfpm-2.44.1-1 from GitHub releases) |
| Current source | GitHub releases: https://github.com/goreleaser/nfpm/releases/download/v2.44.1/ |
Architectures required (all four)
- x86_64: nfpm-2.44.1-1.x86_64.rpm
- s390x: nfpm-2.44.1-1.s390x.rpm
- aarch64: nfpm-2.44.1-1.aarch64.rpm
- ppc64le: nfpm-2.44.1-1.ppc64le.rpm
These URLs are currently in artifacts manifest: codeserver/ubi9-python-3.12/prefetch-input/odh/artifacts.in.yaml (lines 14-17).
Business justification
ODH AND RHDS notebooks release a code-server workbench image. Building code-server from source and packaging it as an RPM (for hermetic/offline builds) depends on nfpm. Having nfpm as an AIPCC-built RPM would allow the image to use Red Hat repos instead of prefetching from GitHub, improving compliance and consistency with the rest of the stack.
Target
RHAI 3.4 and compatible product versions
Acceptance criterias:
- nfpm RPM available in the appropriate AIPCC/RHEL AI repositories for x86_64, s390x, aarch64, and ppc64le so the notebooks Dockerfile can install it via dnf install nfpm (or equivalent) instead of a path to a prefetched generic RPM.