diff --git a/srcpkgs/k3s/files/k3s-agent/log/run b/srcpkgs/k3s/files/k3s-agent/log/run new file mode 100755 index 00000000000..6a3f7aaa612 --- /dev/null +++ b/srcpkgs/k3s/files/k3s-agent/log/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec logger -t k3s-agent diff --git a/srcpkgs/k3s/files/k3s-agent/run b/srcpkgs/k3s/files/k3s-agent/run new file mode 100755 index 00000000000..48244292cf9 --- /dev/null +++ b/srcpkgs/k3s/files/k3s-agent/run @@ -0,0 +1,10 @@ +#!/bin/sh +set -- +[ -r /etc/k3s/config ] && . /etc/k3s/config +[ -r conf ] && . ./conf +if [ 0 = $# ]; then + set -- \ + ${K3S_SERVER:+--server="${K3S_SERVER}"} \ + ${K3S_TOKEN:+--token="${K3S_TOKEN}"} +fi +exec k3s agent ${K3S_OPTIONS} ${K3S_AGENT_OPTIONS} "$@" diff --git a/srcpkgs/k3s/files/k3s-server/log/run b/srcpkgs/k3s/files/k3s-server/log/run new file mode 100755 index 00000000000..e78f852bb29 --- /dev/null +++ b/srcpkgs/k3s/files/k3s-server/log/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec logger -t k3s-server diff --git a/srcpkgs/k3s/files/k3s-server/run b/srcpkgs/k3s/files/k3s-server/run new file mode 100755 index 00000000000..03ada62d4a4 --- /dev/null +++ b/srcpkgs/k3s/files/k3s-server/run @@ -0,0 +1,5 @@ +#!/bin/sh +set -- +[ -r /etc/k3s/config ] && . /etc/k3s/config +[ -r ./conf ] && . ./conf +exec k3s server ${K3S_OPTIONS} ${K3S_SERVER_OPTIONS} "$@" diff --git a/srcpkgs/k3s/template b/srcpkgs/k3s/template index d25489ca417..1657a9b7823 100644 --- a/srcpkgs/k3s/template +++ b/srcpkgs/k3s/template @@ -1,13 +1,65 @@ # Template file for 'k3s' pkgname=k3s version=0.9.1 -revision=1 +revision=2 +create_wrksrc=yes +build_wrksrc="${pkgname}-${version}" build_style=go go_import_path="github.com/rancher/k3s" -hostmakedepends="git" -short_desc="Kubernetes on sedatives" +hostmakedepends="git pkg-config" +makedepends="libseccomp-devel" +short_desc="Lightweight Kubernetes" maintainer="Cameron Nemo " license="Apache-2.0" -homepage="https://github.com/rancher/k3s" -distfiles="https://github.com/rancher/k3s/archive/v${version}.tar.gz" -checksum=dee3ddfcdb61f292bcfe778d7677e436309511e15c6bbdd326ebec42ea41bbac +homepage="https://k3s.io" +# _traefik_* variables' values from scripts/download in source distfile +_traefik_version="1.77.1" +_traefik_file="traefik-${_traefik_version}.tgz" +distfiles="https://${go_import_path}/archive/v${version}.tar.gz + https://kubernetes-charts.storage.googleapis.com/${_traefik_file}" +checksum="dee3ddfcdb61f292bcfe778d7677e436309511e15c6bbdd326ebec42ea41bbac + 15dd78d136d7c9bae7144072052ef6cd12821ae081a7c085f145d834d96c5d5c" +skip_extraction="${_traefik_file}" +conflicts="kubernetes" + +_git_commit=755bd1c63bafe80f9b5fe8d4bba527f988625364 + +pre_build() { + # Modify version.sh to use template variables' values. + vsed -i scripts/version.sh -e ' + s@^COMMIT=.*@COMMIT='"${_git_commit}"'@; + s@^GIT_TAG=.*@GIT_TAG=v'"${version}"'@ + ' + # Remove -s (strip) and -w (no dwarf) linker arguments. + vsed -i scripts/build -e 's@-w -s@@' + # Remove BIN_SUFFIX, nullify GOARCH for go generate. The latter + # is needed because 'go run' will try to run binaries for the + # target given by GOOS/GOARCH. The -x prints what 'go generate' + # is executing. CGO_ENABLED is set to 0 because cross builds + # won't necessarily be able to handle 64-bit builds performed by + # 'go run'. + vsed -i scripts/package-cli -e ' + s@BIN_SUFFIX="[^"]\+"@BIN_SUFFIX=""@; + s@^go generate$@CGO_ENABLED=0 GOARCH= & -x@; + s@-w -s@@g + ' + + # Recreate behavior of scripts/download minus downloading + # anything or having anything to do with busybox. + mkdir -p bin + + mkdir -p build/static/charts + cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_traefik_file} build/static/charts/${_traefik_file} +} + +do_build() { + scripts/build + scripts/package-cli +} + +do_install() { + vbin dist/artifacts/k3s + vbin dist/artifacts/hyperkube + vsv k3s-server + vsv k3s-agent +}