mirror of https://github.com/k3s-io/k3s
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.4 KiB
72 lines
2.4 KiB
#!/bin/bash |
|
set -e -x |
|
|
|
source $(dirname $0)/version.sh |
|
|
|
cd $(dirname $0)/.. |
|
PKG="github.com/rancher/k3s" |
|
PKG_CONTAINERD="github.com/containerd/containerd" |
|
PKG_RANCHER_CONTAINERD="github.com/rancher/containerd" |
|
PKG_CRICTL="github.com/kubernetes-sigs/cri-tools" |
|
|
|
LDFLAGS=" |
|
-X $PKG/pkg/version.Version=$VERSION |
|
-X $PKG/pkg/version.GitCommit=${COMMIT:0:8} |
|
-X $PKG/vendor/$PKG_CONTAINERD/version.Version=$VERSION_CONTAINERD |
|
-X $PKG/vendor/$PKG_CONTAINERD/version.Package=$PKG_RANCHER_CONTAINERD |
|
-X $PKG/vendor/$PKG_CRICTL/pkg/version.Version=$VERSION_CRICTL |
|
-w -s |
|
" |
|
|
|
STATIC="-extldflags '-static'" |
|
STATIC_SQLITE="-extldflags '-static -lm -ldl -lz -lpthread'" |
|
TAGS="ctrd apparmor seccomp no_btrfs netgo osusergo" |
|
|
|
if [ "$STATIC_BUILD" != "true" ]; then |
|
STATIC="" |
|
STATIC_SQLITE="" |
|
else |
|
TAGS="static_build libsqlite3 $TAGS" |
|
fi |
|
|
|
mkdir -p bin |
|
|
|
if [ -z "$GOARM" ] && [ "arm" = "$(go env GOARCH)" ]; then |
|
GOARM=7 |
|
fi |
|
|
|
rm -f \ |
|
bin/k3s-agent \ |
|
bin/hyperkube \ |
|
bin/containerd \ |
|
bin/cni \ |
|
bin/runc \ |
|
bin/containerd-shim \ |
|
bin/k3s-server \ |
|
bin/kubectl \ |
|
bin/crictl \ |
|
bin/ctr |
|
|
|
# echo Building agent |
|
# CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o bin/k3s-agent ./cmd/agent/main.go |
|
echo Building server |
|
CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC_SQLITE" -o bin/containerd ./cmd/server/main.go |
|
ln -s containerd ./bin/k3s-agent |
|
ln -s containerd ./bin/k3s-server |
|
ln -s containerd ./bin/kubectl |
|
ln -s containerd ./bin/crictl |
|
ln -s containerd ./bin/ctr |
|
echo Building hyperkube |
|
CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC_SQLITE" -o bin/hyperkube ./vendor/k8s.io/kubernetes/cmd/hyperkube/ |
|
#echo Building ctr |
|
#CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC_SQLITE" -o bin/ctr ./cmd/ctr/main.go |
|
# echo Building containerd |
|
# CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd/ |
|
echo Building cni |
|
CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o bin/cni ./cmd/cni/main.go |
|
echo Building runc |
|
make EXTRA_LDFLAGS="-w -s" BUILDTAGS="apparmor seccomp" -C ./vendor/github.com/opencontainers/runc static |
|
cp -f ./vendor/github.com/opencontainers/runc/runc ./bin/runc |
|
echo Building containerd-shim |
|
make -C ./vendor/github.com/containerd/containerd bin/containerd-shim |
|
cp -f ./vendor/github.com/containerd/containerd/bin/containerd-shim ./bin/containerd-shim
|
|
|