sys-cluster/k3s: add 1.25.2_p1

Signed-off-by: Zac Medico <zmedico@gentoo.org>
This commit is contained in:
Zac Medico
2022-09-29 18:33:00 -07:00
parent 5721487bdc
commit 2b3a2edc88
2 changed files with 103 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
DIST k3s-1.25.0_p1-vendor.tar.gz 31880481 BLAKE2B 6b45448119713374f7e796f35ba460a7f8fc351d2a146f1d47af96a7e5a3d67f24f48f9a6ce5643675122b0677b3db46e25af282f1ad1b99722b3fe2246fd078 SHA512 4cee72ce30ac14bbacc90d0d976f727e931dcd6f98a88b6a22da6635ce2977afa2db8eea779ff80bfdb91aeb5711ce560b9dc09b19fa5d10c9503bb52be0b24a
DIST k3s-1.25.2_p1-vendor.tar.gz 31890900 BLAKE2B 9a60ed25d4df0f8e2c90fe06de5b68656ce177dc5480a91272ecddbb75686ba86e61d600088a0fabeed37c1c28ec3d1ad46c514b8a248b1d0770f686da567a7a SHA512 c31098710c30b81cffbf1fd86084637c2563124e3415b8a83d428ced5e2bf81eb023de9b05a6990a2b8c236f1dab538a8f7fae6ef3105c266c40dd89c426c93a
DIST k3s-cni-plugins-1.1.1.tar.gz 3122345 BLAKE2B 270283ffb746ca97ad147b368143c56bd9641b7ebcb1b2b61f80ffea3336b240b28c9b9496bd2f6eb6d7e5382da4979c26e37eca30ac19fd362ed822ba94f300 SHA512 53dcd363231325553a5c9e804fc9005471fe5c05c87aae0340214c146eba66a3761d73976ba0145d86a663a2b0a1941e6cc5823b6d05e002a9ef18e41e10ac3c
DIST k3s-containerd-1.6.8-k3s1.tar.gz 10344676 BLAKE2B 18b236d61c710234fc6feefb4b08e36950c02a3a74d92a7bae5286ddf2916d29f636d1c9fb4307ccb6c6f1c7a77441096b0db9c892d5745f32815f4016af7b54 SHA512 b85c5e73c9f6c66c229888d93b3796c3fa4b362ee2ee4f7fb37f760ff241223820c0bec4995e73e9c3d20b81a8fc3676e7b0ed170239c8cb43194aae2701a6b5
DIST k3s-root-amd64-0.11.0.tar 11878400 BLAKE2B 6227ba08e305f062ed814a6b997313415c08e469b05f0501c86f7df25e8a3c9ecb43675613337f6d038faa5153aae98eb44cad9bc170967e0a216ba5ec27559e SHA512 d181117230ad941b40173c3b7dc3d2bb0f3d44a28e9715d85c752193c6058bb6be4a4b8f061df73fed690629a7b2b330185b38bb90ce7fcc9c808096516cb0a3

View File

@@ -0,0 +1,102 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module linux-info systemd
DESCRIPTION="Lightweight Kubernetes"
HOMEPAGE="https://k3s.io"
K3S_CONTAINERD_VERSION=1.6.8-k3s1
K3S_RUNC_VERSION=v1.1.4
K3S_ROOT_VERSION=0.11.0
K3S_TRAEFIK_VERSION=10.19.3
K3S_TRAEFIK_PACKAGE_VERSION=00
K3S_CNIPLUGINS_VERSION=1.1.1
CONFIG_CHECK="~BRIDGE_NETFILTER ~CFS_BANDWIDTH ~CGROUP_DEVICE ~CGROUP_PERF ~CGROUP_PIDS ~IP_VS ~MEMCG ~NETFILTER_XT_MATCH_COMMENT ~OVERLAY_FS ~VLAN_8021Q ~VXLAN"
MY_PV=${PV%_p*}+k3s${PV#*_p}
SRC_URI="https://github.com/zmedico/k3s/archive/refs/tags/v${MY_PV}-vendor.tar.gz -> ${P}-vendor.tar.gz
${EGO_SUM_SRC_URI}
https://github.com/k3s-io/containerd/archive/refs/tags/v${K3S_CONTAINERD_VERSION}.tar.gz -> k3s-containerd-${K3S_CONTAINERD_VERSION}.tar.gz
https://github.com/opencontainers/runc/archive/refs/tags/${K3S_RUNC_VERSION}.tar.gz -> k3s-runc-${K3S_RUNC_VERSION}.tar.gz
https://helm.traefik.io/traefik/traefik-${K3S_TRAEFIK_VERSION}.tgz
https://github.com/rancher/plugins/archive/refs/tags/v${K3S_CNIPLUGINS_VERSION}-k3s1.tar.gz -> k3s-cni-plugins-${K3S_CNIPLUGINS_VERSION}.tar.gz
amd64? ( https://github.com/rancher/k3s-root/releases/download/v${K3S_ROOT_VERSION}/k3s-root-amd64.tar -> k3s-root-amd64-${K3S_ROOT_VERSION}.tar )"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+kubectl-symlink rootless"
REQUIRED_USE="|| ( amd64 )"
DEPEND="
app-misc/yq
net-firewall/conntrack-tools
sys-fs/btrfs-progs
rootless? ( app-containers/slirp4netns )
"
RDEPEND="kubectl-symlink? ( !sys-cluster/kubectl )"
RESTRICT+=" test"
S=${WORKDIR}/${PN}-${MY_PV/+/-}-vendor
src_unpack() {
unpack ${P}-vendor.tar.gz
cd "${S}" || die
mkdir -p bin/aux build/static/charts cache etc || die
cp "${DISTDIR}/traefik-${K3S_TRAEFIK_VERSION}.tgz" build/static/charts/traefik-${K3S_TRAEFIK_VERSION}${K3S_TRAEFIK_PACKAGE_VERSION}.tgz || die
cp "${DISTDIR}/k3s-cni-plugins-${K3S_CNIPLUGINS_VERSION}.tar.gz" cache/ || die
}
src_prepare() {
local filename pattern replacement
default
local CONTAINERD_DIR=build/src/github.com/containerd/containerd
mkdir -p "${CONTAINERD_DIR}" || die
tar -x --strip-components=1 -f "${DISTDIR}/k3s-containerd-${K3S_CONTAINERD_VERSION}.tar.gz" -C "${CONTAINERD_DIR}" || die
if has_version -b ">=dev-lang/go-1.18"; then
# https://bugs.gentoo.org/835601
sed -i -e "/github.com\/containerd\/containerd => .\/.empty-mod/d" "${CONTAINERD_DIR}"/{go.mod,vendor/modules.txt} || die
fi
local RUNC_DIR=build/src/github.com/opencontainers/runc
mkdir -p "${RUNC_DIR}" || die
tar -x --strip-components=1 -f "${DISTDIR}/k3s-runc-${K3S_RUNC_VERSION}.tar.gz" -C "${RUNC_DIR}" || die
# Disable download for files fetched via SRC_URI.
sed -e 's:^[[:space:]]*curl:#\0:' \
-e 's:^[[:space:]]*git:#\0:' \
-e 's:^rm -rf \${CHARTS_DIR}:#\0:' \
-e 's:^rm -rf \${RUNC_DIR}:#\0:' \
-e 's:^rm -rf \${CONTAINERD_DIR}:#\0:' \
-e 's:yq e :yq -r :' \
-e "s:^setup_tmp\$:TMP_DIR=${S}/build/static/charts:" \
-i scripts/download || die
sed -e '/scripts\/build-upload/d' -i scripts/package-cli || die
pattern='git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR'
filename=scripts/build
grep -qF "${pattern}" "${filename}" || \
die "failed to locate plugins clone command"
sed -e "s|${pattern}|mkdir -p \"\$WORKDIR\" \\&\\& tar -xzf \"${S}/cache/k3s-cni-plugins-${K3S_CNIPLUGINS_VERSION}.tar.gz\" --strip-components=1 -C \"\$WORKDIR\"|" \
-e 's|rm -rf $TMPDIR||' \
-i "${filename}" || die
sed -e 's:/usr/local/bin:/usr/bin:g' -i k3s.service || die
}
src_compile() {
mkdir -p build/data || die
"${BASH}" -ex ./scripts/download || die
./scripts/build || die
./scripts/package-cli || die
}
src_install() {
dobin "dist/artifacts/${PN}"
use kubectl-symlink && dosym k3s /usr/bin/kubectl
systemd_dounit "${FILESDIR}/${PN}.service"
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
dodoc README.md
}