mirror of https://github.com/rancher/rke2.git
50 lines
1.7 KiB
Bash
Executable File
50 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -ex
|
|
|
|
cd $(dirname $0)/..
|
|
|
|
source ./scripts/version.sh
|
|
|
|
if [ "${GOARCH}" == "s390x" ] || [ "${GOARCH}" == "arm64" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
if [ -z "${GODEBUG}" ]; then
|
|
EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -w"
|
|
DEBUG_GO_GCFLAGS=""
|
|
DEBUG_TAGS=""
|
|
else
|
|
DEBUG_GO_GCFLAGS='-gcflags=all=-N -l'
|
|
fi
|
|
|
|
REVISION=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .dirty; fi)
|
|
GOOS=windows
|
|
RELEASE=${PROG}.${GOOS}-${GOARCH}
|
|
|
|
|
|
BUILDTAGS="netgo osusergo no_stage static_build sqlite_omit_load_extension no_cri_dockerd"
|
|
GO_BUILDTAGS="${GO_BUILDTAGS} ${BUILDTAGS} ${DEBUG_TAGS}"
|
|
|
|
VERSION_FLAGS="
|
|
-X ${K3S_PKG}/pkg/version.GitCommit=${REVISION}
|
|
-X ${K3S_PKG}/pkg/version.Program=${PROG}
|
|
-X ${K3S_PKG}/pkg/version.Version=${VERSION}
|
|
-X ${K3S_PKG}/pkg/version.UpstreamGolang=${VERSION_GOLANG}
|
|
-X ${RKE2_PKG}/pkg/images.DefaultRegistry=${REGISTRY}
|
|
-X ${RKE2_PKG}/pkg/images.DefaultEtcdImage=rancher/hardened-etcd:${ETCD_VERSION}-build20251017
|
|
-X ${RKE2_PKG}/pkg/images.DefaultKubernetesImage=${REPO}/hardened-kubernetes:${KUBERNETES_IMAGE_TAG}
|
|
-X ${RKE2_PKG}/pkg/images.DefaultPauseImage=rancher/mirrored-pause:${PAUSE_VERSION}
|
|
-X ${RKE2_PKG}/pkg/images.DefaultRuntimeImage=${REPO}/${PROG}-runtime:${DOCKERIZED_VERSION}-${GOOS}-${GOARCH}
|
|
"
|
|
|
|
GO_LDFLAGS="${STATIC_FLAGS} ${EXTRA_LDFLAGS}"
|
|
echo ${DEBUG_GO_GCFLAGS}
|
|
GOOS=windows \
|
|
CGO_ENABLED=1 CGO_CFLAGS="-DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_USE_ALLOCA=1" CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc \
|
|
go build \
|
|
-tags "${GO_BUILDTAGS}" \
|
|
${GO_GCFLAGS} ${GO_BUILD_FLAGS} \
|
|
-o bin/${PROG}.exe \
|
|
-ldflags "${GO_LDFLAGS} ${VERSION_FLAGS}" \
|
|
${GO_TAGS}
|