From 6b070d8c14d4e8b6113ab031bb8b0f40b52cf84c Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sat, 25 Apr 2026 11:32:10 +1000 Subject: [PATCH] feat: add claude-code rpm --- rpms/claude-code/metadata.yaml | 17 ++++++++++++++ rpms/claude-code/resources/build.sh | 13 +++++++++++ rpms/claude-code/resources/nfpm.yaml | 33 ++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 rpms/claude-code/metadata.yaml create mode 100755 rpms/claude-code/resources/build.sh create mode 100644 rpms/claude-code/resources/nfpm.yaml diff --git a/rpms/claude-code/metadata.yaml b/rpms/claude-code/metadata.yaml new file mode 100644 index 0000000..0c45319 --- /dev/null +++ b/rpms/claude-code/metadata.yaml @@ -0,0 +1,17 @@ +--- +arch: amd64 +builds: + - image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest + release: '1' + repository: [almalinux/el8] + version: 2.1.120 + - image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest + release: '1' + repository: [almalinux/el9] + version: 2.1.120 +description: Claude Code - Anthropic's agentic AI coding tool +homepage: https://claude.ai/code +license: Proprietary +maintainer: Anthropic +name: claude-code +platform: linux diff --git a/rpms/claude-code/resources/build.sh b/rpms/claude-code/resources/build.sh new file mode 100755 index 0000000..69dc865 --- /dev/null +++ b/rpms/claude-code/resources/build.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash + +set -e + +# Download claude-code binary +wget -O /app/claude https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/claude-ai/claude-code-releases/${PACKAGE_VERSION}/linux-x64/claude +chmod +x /app/claude + +# Process the nfpm.yaml template with environment variables +envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml + +# Build the RPM +nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm diff --git a/rpms/claude-code/resources/nfpm.yaml b/rpms/claude-code/resources/nfpm.yaml new file mode 100644 index 0000000..773a4ea --- /dev/null +++ b/rpms/claude-code/resources/nfpm.yaml @@ -0,0 +1,33 @@ +# nfpm.yaml + +name: ${PACKAGE_NAME} +version: ${PACKAGE_VERSION} +release: ${PACKAGE_RELEASE} +arch: ${PACKAGE_ARCH} +platform: ${PACKAGE_PLATFORM} +section: default +priority: extra +description: "${PACKAGE_DESCRIPTION}" + +maintainer: ${PACKAGE_MAINTAINER} +homepage: ${PACKAGE_HOMEPAGE} +license: ${PACKAGE_LICENSE} + +disable_globbing: false + +replaces: + - claude-code + - claude + +provides: + - claude-code + - claude + +# Files to include in the package +contents: + - src: /app/claude + dst: /usr/bin/claude + file_info: + mode: 0755 + owner: root + group: root -- 2.47.3