correcting build issues on copr

This commit is contained in:
2026-04-29 11:33:14 -04:00
parent 43c559bf02
commit 973d6821f5
4 changed files with 52 additions and 45 deletions
+9
View File
@@ -0,0 +1,9 @@
.PHONY: srpm
outdir ?= $(CURDIR)/.rpmbuild/SRPMS
TOPDIR ?= $(CURDIR)/.rpmbuild
srpm:
$(MAKE) -C "$(CURDIR)" srpm TOPDIR="$(TOPDIR)"
mkdir -p "$(outdir)"
cp "$(TOPDIR)"/SRPMS/*.src.rpm "$(outdir)"/
+3 -4
View File
@@ -1,16 +1,15 @@
TOPDIR ?= $(CURDIR)/.rpmbuild TOPDIR ?= $(CURDIR)/.rpmbuild
ARCH ?= x86_64
.PHONY: srpm srpm-x86_64 srpm-aarch64 clean .PHONY: srpm srpm-x86_64 srpm-aarch64 clean
srpm: srpm:
ARCH="$(ARCH)" TOPDIR="$(TOPDIR)" ./make-srpm.sh TOPDIR="$(TOPDIR)" ./make-srpm.sh
srpm-x86_64: srpm-x86_64:
ARCH="x86_64" TOPDIR="$(TOPDIR)" ./make-srpm.sh TOPDIR="$(TOPDIR)" ./make-srpm.sh
srpm-aarch64: srpm-aarch64:
ARCH="aarch64" TOPDIR="$(TOPDIR)" ./make-srpm.sh TOPDIR="$(TOPDIR)" ./make-srpm.sh
clean: clean:
rm -rf "$(TOPDIR)" rm -rf "$(TOPDIR)"
+9 -3
View File
@@ -1,5 +1,4 @@
%global up_version %{?up_version}%{!?up_version:0} %global up_version %{?up_version}%{!?up_version:0}
%global package_arch %{?package_arch}%{!?package_arch:x86_64}
%global debug_package %{nil} %global debug_package %{nil}
%global _build_id_links none %global _build_id_links none
%{!?bash_completions_dir:%global bash_completions_dir %{_datadir}/bash-completion/completions} %{!?bash_completions_dir:%global bash_completions_dir %{_datadir}/bash-completion/completions}
@@ -13,7 +12,8 @@ Summary: OpenAI Codex command-line interface
License: Apache-2.0 License: Apache-2.0
URL: https://github.com/openai/codex URL: https://github.com/openai/codex
Source0: %{name}-%{version}-%{package_arch}-unknown-linux-musl.tar.gz Source0: %{name}-%{version}-x86_64-unknown-linux-musl.tar.gz
Source1: %{name}-%{version}-aarch64-unknown-linux-musl.tar.gz
ExclusiveArch: x86_64 aarch64 ExclusiveArch: x86_64 aarch64
Requires: git Requires: git
@@ -22,7 +22,13 @@ Requires: git
OpenAI Codex is a coding assistant that runs in your terminal. OpenAI Codex is a coding assistant that runs in your terminal.
%prep %prep
%autosetup -n %{name}-%{version} %setup -q -c -T
%ifarch x86_64
tar -xzf %{SOURCE0} --strip-components=1
%endif
%ifarch aarch64
tar -xzf %{SOURCE1} --strip-components=1
%endif
%build %build
+31 -38
View File
@@ -7,19 +7,6 @@ SOURCES_DIR="$TOPDIR/SOURCES"
SRPMS_DIR="$TOPDIR/SRPMS" SRPMS_DIR="$TOPDIR/SRPMS"
SPECS_DIR="$TOPDIR/SPECS" SPECS_DIR="$TOPDIR/SPECS"
WORK_DIR="$(mktemp -d)" WORK_DIR="$(mktemp -d)"
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" LATEST_RELEASE_API="https://api.github.com/repos/openai/codex/releases/latest"
cleanup() { cleanup() {
@@ -29,19 +16,6 @@ trap cleanup EXIT
mkdir -p "$SOURCES_DIR" "$SRPMS_DIR" "$SPECS_DIR" mkdir -p "$SOURCES_DIR" "$SRPMS_DIR" "$SPECS_DIR"
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/$ASSET_BASENAME"
if [[ ! -x "$UPSTREAM_BINARY" ]]; then
echo "Expected upstream binary $ASSET_BASENAME, but it was not found." >&2
exit 1
fi
echo "Resolving latest release tag..." echo "Resolving latest release tag..."
TAG="$( TAG="$(
curl -fsSL --retry 3 --retry-delay 2 "$LATEST_RELEASE_API" \ curl -fsSL --retry 3 --retry-delay 2 "$LATEST_RELEASE_API" \
@@ -58,30 +32,49 @@ if [[ -z "$VERSION" || "$VERSION" == "$TAG" ]]; then
echo "Unexpected tag format: $TAG (expected rust-v<version>)." >&2 echo "Unexpected tag format: $TAG (expected rust-v<version>)." >&2
exit 1 exit 1
fi fi
SOURCE_TREE="$WORK_DIR/codex-$VERSION"
mkdir -p "$SOURCE_TREE"
install -pm 0755 "$UPSTREAM_BINARY" "$SOURCE_TREE/codex"
echo "Downloading LICENSE and README for $TAG..." echo "Downloading LICENSE and README for $TAG..."
curl -fL --retry 3 --retry-delay 2 \ curl -fL --retry 3 --retry-delay 2 \
-o "$SOURCE_TREE/LICENSE" \ -o "$WORK_DIR/LICENSE" \
"https://raw.githubusercontent.com/openai/codex/$TAG/LICENSE" "https://raw.githubusercontent.com/openai/codex/$TAG/LICENSE"
curl -fL --retry 3 --retry-delay 2 \ curl -fL --retry 3 --retry-delay 2 \
-o "$SOURCE_TREE/README.md" \ -o "$WORK_DIR/README.md" \
"https://raw.githubusercontent.com/openai/codex/$TAG/README.md" "https://raw.githubusercontent.com/openai/codex/$TAG/README.md"
SOURCE_ARCHIVE="$SOURCES_DIR/codex-$VERSION-$ARCH-unknown-linux-musl.tar.gz" for ARCH in x86_64 aarch64; do
tar -C "$WORK_DIR" -czf "$SOURCE_ARCHIVE" "codex-$VERSION" ASSET_BASENAME="codex-$ARCH-unknown-linux-musl"
LATEST_URL="https://github.com/openai/codex/releases/latest/download/$ASSET_BASENAME.tar.gz"
ARCHIVE="$WORK_DIR/$ASSET_BASENAME.tar.gz"
UNPACK_DIR="$WORK_DIR/unpack-$ARCH"
SOURCE_TREE="$WORK_DIR/codex-$VERSION-$ARCH"
cp codex.spec "$SPECS_DIR/codex.spec" echo "Downloading latest Codex release tarball for $ARCH..."
curl -fL --retry 3 --retry-delay 2 -o "$ARCHIVE" "$LATEST_URL"
mkdir -p "$UNPACK_DIR"
tar -xzf "$ARCHIVE" -C "$UNPACK_DIR"
UPSTREAM_BINARY="$UNPACK_DIR/$ASSET_BASENAME"
if [[ ! -x "$UPSTREAM_BINARY" ]]; then
echo "Expected upstream binary $ASSET_BASENAME, but it was not found." >&2
exit 1
fi
mkdir -p "$SOURCE_TREE/codex-$VERSION"
install -pm 0755 "$UPSTREAM_BINARY" "$SOURCE_TREE/codex-$VERSION/codex"
install -pm 0644 "$WORK_DIR/LICENSE" "$SOURCE_TREE/codex-$VERSION/LICENSE"
install -pm 0644 "$WORK_DIR/README.md" "$SOURCE_TREE/codex-$VERSION/README.md"
SOURCE_ARCHIVE="$SOURCES_DIR/codex-$VERSION-$ARCH-unknown-linux-musl.tar.gz"
tar -C "$SOURCE_TREE" -czf "$SOURCE_ARCHIVE" "codex-$VERSION"
done
sed "s/^%global up_version .*/%global up_version $VERSION/" \
codex.spec > "$SPECS_DIR/codex.spec"
echo "Building SRPM for version $VERSION..." echo "Building SRPM for version $VERSION..."
rpmbuild \ rpmbuild \
--target "$ARCH" \
--define "_topdir $TOPDIR" \ --define "_topdir $TOPDIR" \
--define "up_version $VERSION" \
--define "package_arch $ARCH" \
-bs "$SPECS_DIR/codex.spec" -bs "$SPECS_DIR/codex.spec"
echo echo