mirror of
https://github.com/funkemunky/codex-copr.git
synced 2026-05-31 22:31:57 +00:00
Making it work for arm installs as well
This commit is contained in:
@@ -1,9 +1,16 @@
|
||||
TOPDIR ?= $(CURDIR)/.rpmbuild
|
||||
ARCH ?= x86_64
|
||||
|
||||
.PHONY: srpm clean
|
||||
.PHONY: srpm srpm-x86_64 srpm-aarch64 clean
|
||||
|
||||
srpm:
|
||||
./make-srpm.sh
|
||||
ARCH="$(ARCH)" TOPDIR="$(TOPDIR)" ./make-srpm.sh
|
||||
|
||||
srpm-x86_64:
|
||||
ARCH="x86_64" TOPDIR="$(TOPDIR)" ./make-srpm.sh
|
||||
|
||||
srpm-aarch64:
|
||||
ARCH="aarch64" TOPDIR="$(TOPDIR)" ./make-srpm.sh
|
||||
|
||||
clean:
|
||||
rm -rf "$(TOPDIR)"
|
||||
|
||||
+3
-2
@@ -1,4 +1,5 @@
|
||||
%global up_version %{?up_version}%{!?up_version:0}
|
||||
%global package_arch %{?package_arch}%{!?package_arch:x86_64}
|
||||
%global debug_package %{nil}
|
||||
%global _build_id_links none
|
||||
%{!?bash_completions_dir:%global bash_completions_dir %{_datadir}/bash-completion/completions}
|
||||
@@ -12,9 +13,9 @@ Summary: OpenAI Codex command-line interface
|
||||
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/openai/codex
|
||||
Source0: %{name}-%{version}-x86_64-unknown-linux-musl.tar.gz
|
||||
Source0: %{name}-%{version}-%{package_arch}-unknown-linux-musl.tar.gz
|
||||
|
||||
BuildArch: x86_64
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
Requires: git
|
||||
|
||||
%description
|
||||
|
||||
+34
-10
@@ -7,7 +7,20 @@ SOURCES_DIR="$TOPDIR/SOURCES"
|
||||
SRPMS_DIR="$TOPDIR/SRPMS"
|
||||
SPECS_DIR="$TOPDIR/SPECS"
|
||||
WORK_DIR="$(mktemp -d)"
|
||||
LATEST_URL="https://github.com/openai/codex/releases/latest/download/codex-x86_64-unknown-linux-musl.tar.gz"
|
||||
ARCH="${ARCH:-x86_64}"
|
||||
|
||||
case "$ARCH" in
|
||||
x86_64|aarch64)
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported ARCH: $ARCH. Supported values: x86_64, aarch64" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
ASSET_BASENAME="codex-$ARCH-unknown-linux-musl"
|
||||
LATEST_URL="https://github.com/openai/codex/releases/latest/download/$ASSET_BASENAME.tar.gz"
|
||||
LATEST_RELEASE_API="https://api.github.com/repos/openai/codex/releases/latest"
|
||||
|
||||
cleanup() {
|
||||
rm -rf "$WORK_DIR"
|
||||
@@ -16,26 +29,35 @@ trap cleanup EXIT
|
||||
|
||||
mkdir -p "$SOURCES_DIR" "$SRPMS_DIR" "$SPECS_DIR"
|
||||
|
||||
ARCHIVE="$WORK_DIR/codex-x86_64-unknown-linux-musl.tar.gz"
|
||||
echo "Downloading latest Codex release tarball..."
|
||||
ARCHIVE="$WORK_DIR/$ASSET_BASENAME.tar.gz"
|
||||
echo "Downloading latest Codex release tarball for $ARCH..."
|
||||
curl -fL --retry 3 --retry-delay 2 -o "$ARCHIVE" "$LATEST_URL"
|
||||
|
||||
mkdir -p "$WORK_DIR/unpack"
|
||||
tar -xzf "$ARCHIVE" -C "$WORK_DIR/unpack"
|
||||
|
||||
UPSTREAM_BINARY="$WORK_DIR/unpack/codex-x86_64-unknown-linux-musl"
|
||||
UPSTREAM_BINARY="$WORK_DIR/unpack/$ASSET_BASENAME"
|
||||
if [[ ! -x "$UPSTREAM_BINARY" ]]; then
|
||||
echo "Expected upstream binary codex-x86_64-unknown-linux-musl, but it was not found." >&2
|
||||
echo "Expected upstream binary $ASSET_BASENAME, but it was not found." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION="$("$UPSTREAM_BINARY" --version | awk '{print $2}')"
|
||||
if [[ -z "$VERSION" ]]; then
|
||||
echo "Failed to determine Codex version from downloaded binary." >&2
|
||||
echo "Resolving latest release tag..."
|
||||
TAG="$(
|
||||
curl -fsSL --retry 3 --retry-delay 2 "$LATEST_RELEASE_API" \
|
||||
| sed -n 's/.*"tag_name":[[:space:]]*"\([^"]*\)".*/\1/p' \
|
||||
| head -n1
|
||||
)"
|
||||
if [[ -z "$TAG" ]]; then
|
||||
echo "Failed to determine latest release tag from GitHub API." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TAG="rust-v$VERSION"
|
||||
VERSION="${TAG#rust-v}"
|
||||
if [[ -z "$VERSION" || "$VERSION" == "$TAG" ]]; then
|
||||
echo "Unexpected tag format: $TAG (expected rust-v<version>)." >&2
|
||||
exit 1
|
||||
fi
|
||||
SOURCE_TREE="$WORK_DIR/codex-$VERSION"
|
||||
mkdir -p "$SOURCE_TREE"
|
||||
|
||||
@@ -49,15 +71,17 @@ curl -fL --retry 3 --retry-delay 2 \
|
||||
-o "$SOURCE_TREE/README.md" \
|
||||
"https://raw.githubusercontent.com/openai/codex/$TAG/README.md"
|
||||
|
||||
SOURCE_ARCHIVE="$SOURCES_DIR/codex-$VERSION-x86_64-unknown-linux-musl.tar.gz"
|
||||
SOURCE_ARCHIVE="$SOURCES_DIR/codex-$VERSION-$ARCH-unknown-linux-musl.tar.gz"
|
||||
tar -C "$WORK_DIR" -czf "$SOURCE_ARCHIVE" "codex-$VERSION"
|
||||
|
||||
cp codex.spec "$SPECS_DIR/codex.spec"
|
||||
|
||||
echo "Building SRPM for version $VERSION..."
|
||||
rpmbuild \
|
||||
--target "$ARCH" \
|
||||
--define "_topdir $TOPDIR" \
|
||||
--define "up_version $VERSION" \
|
||||
--define "package_arch $ARCH" \
|
||||
-bs "$SPECS_DIR/codex.spec"
|
||||
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user