1
0
forked from pool/micro-editor

Add check for building binaries depending on system architecture #3

Merged
gbazzotti merged 5 commits from main into factory 2026-01-21 17:28:35 +01:00

View File

@@ -53,10 +53,23 @@ tar -xf %{SOURCE1}
%build
export GOFLAGS="-mod=vendor"
export CGO=0
%ifnarch ppc64 ppc64le
export GOFLAGS="${GOFLAGS} -buildmode=pie"
%endif
case "$(uname -m)" in
# Enabling PIE (Position Independent Executable) in go allows a binary to be loaded by the OS into a random memory address
# however certain CPU architectures do not support PIEs by default so we have to disable it to properly build on OBS
# We achieve this by disabling PIE in favor of CGO
# Disable PIE for these architectures
s390x|ppc64|ppc64le|i386|i586|i686|riscv64|armv7l|armv6l)
echo "Building on $(uname -m): PIE disabled (requires CGO)"
;;
*)
# Enable PIE for x86_64 and aarch64
echo "Building on $(uname -m): Enabling PIE"
export GOFLAGS="$GOFLAGS -buildmode=pie"
;;
esac
export DATE="$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%s)} --iso-8601)"
export HASH="%{shortcommit}"