summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorIvan Shapovalov2023-12-23 02:40:25 +0100
committerIvan Shapovalov2023-12-23 08:40:27 +0300
commit3b329bfdb5ae70b90e29109b7ff43c8440cb9431 (patch)
tree032d1666f46c3a1b7cc55a0fa39bc2afcf98be5f /PKGBUILD
parent9d4f3cc1f9f82eb71aa1e5e5bf19758aee250ef3 (diff)
downloadaur-3b329bfdb5ae70b90e29109b7ff43c8440cb9431.tar.gz
Rewrite and patch build system, update to 1.29.0+k3s1
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD93
1 files changed, 67 insertions, 26 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 6d446b84d0ef..bfb1dcbc9ddf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,26 +1,51 @@
# Maintainer: Ivan Shapovalov <intelfx@intelfx.name>
pkgname=k3s-git
-pkgver=1.28.4+k3s2+r8+g231cb6ed20
-pkgrel=2
+pkgver=1.29.0+k3s1+r0+g3190a5faa2
+pkgrel=1
pkgdesc='Lightweight Kubernetes'
arch=(x86_64)
url='https://k3s.io'
license=(Apache)
-makedepends=(git go podman)
+makedepends=(
+ git go podman
+ # these are (some of) the tools that are installed into the "builder"
+ # docker container during the officially blessed build path
+ # curl jq yq zstd pigz
+)
provides=(k3s)
conflicts=(k3s)
backup=(
etc/systemd/system/k3s.service.env
+ etc/systemd/system/k3s-agent.service.env
+ etc/rancher/k3s/config.yaml
)
source=(
"git+https://github.com/k3s-io/k3s"
'k3s.service.env'
+ 'k3s-agent.service.env'
+ 'config.yaml'
+ '0000-Fix-issue-8293.-Remove-useless-log-init-code.patch'
+ '0001-Dockerfile.dapper-set-HOME-properly.patch'
+ '0002-main-apply-go-fmt-to-pkg-data-zz_generated_bindata.g.patch'
+ '0003-.dockerignore-do-not-ignore-parts-of-GITDIR.patch'
+ '0004-Dockerfile.dapper-sanitize-DAPPER_OUTPUT.patch'
+ '0005-Dockerfile.dapper-sanitize-cache-configuration.patch'
+ '0006-.service-update-systemd-service-files.patch'
+ '0007-scripts-moar-compression-drop-pigz-and-raw-tar.patch'
)
-sha256sums=(
- 'SKIP'
- '667199fa6b811dde3aef3e626e2695a566ad64c9a03d19d0c94a1f104a7612d0'
-)
+sha256sums=('SKIP'
+ '94b0dd21fa4f075d4db7f6efe7a775de476b278de72f99773ee3de0bb54e7f68'
+ '2f6964aed46deb38095801e124a6603f3a29e6886815d52c59c02883f7a37925'
+ '6f0500a656ed78c0bb689c12264dbcd79f579edc3b9e17d512be742c1b2c43a4'
+ 'fe667d538cf94bf8f9a62d9812a03bf423204f452aa11f0f2addf0dbe1b95866'
+ '9307c9dbec1bdd73a1a3186668e0f5d5c9900474f53a842a133feba62c92b0ac'
+ '350438be7abe98eeee60f23e9aa566eba38df5422597ab4e7184cc7a12309ebb'
+ '659ee5e6a7c7df532418032e7b115ab7804fd60593e497814cc553504545af3c'
+ '6e00974e4ec3ee5999da87c7d1e43fed5b64e84ce6eec3a43ed971f24c5cb820'
+ '616063a668d510f163aa684e78fcf89d1b8cc8e1524acdc170608bfbf0e80e47'
+ 'bb721e8850eb736ad9aad4f0a8ef20dac0e06d7731731c3541264f138be28b74'
+ 'f448303dbbefef2645b8c2146d595643c0143c7300eab12a459b85a3b18b3d91')
pkgver() {
cd k3s
@@ -30,17 +55,12 @@ pkgver() {
prepare() {
cd k3s
- # fix #8293
- git fetch origin refs/pull/9064/head
- git cherry-pick --no-edit FETCH_HEAD
-
- # moar compression
- sed -i -r 's|(zstd .*)-[0-9]+|\1 --ultra -22|' \
- scripts/package-cli \
- scripts/package-airgap \
-
- sed -i -r 's|/usr/local/bin/k3s|/usr/bin/k3s|' \
- *.service
+ # fix #8293, #9089, sanitize buildsystem, moar compression
+ for p in "${source[@]}"; do
+ if [[ $p == *.patch ]]; then
+ git apply -3 "$srcdir/$p"
+ fi
+ done
}
build() {
@@ -76,17 +96,31 @@ EOF
# 4. Run podman-system-service to create a dockerd-compatible control socket
# and point every broken tool in existence towards it.
- export DOCKER_HOST="unix:///tmp/docker.sock"
- podman --log-level=info system service --time 0 "$DOCKER_HOST" &
+ export DOCKER_HOST="unix://$PWD/docker.sock"
+ podman system service --time 0 "$DOCKER_HOST" >&2 &
podman_pid="$!"
- # 5. Hopefully run the build inside of this Rube-Goldbergian contraption.
+ # 5. Set $DAPPER_CACHE_HOME to hopefully persist (some) caches
+ # FIXME: point this to $HOME after we make sure this works
+ export DAPPER_CACHE_HOME="$BUILDDIR/dapper-cache"
+ # dapper/podman won't create those subdirs for us
+ mkdir -pv "$DAPPER_CACHE_HOME"/{cache,go/pkg}
+
+ # 6. create a build script with only the steps we want
+ cat <<"EOF" | install -m755 /dev/stdin k3s/scripts/archpkg
+#!/bin/bash -ex
+
+scripts/download
+scripts/build
+scripts/package-cli
+#REPO=... IMAGE_NAME=... scripts/package-image
+scripts/package-airgap
+EOF
+
+ # 7. Hopefully run the build inside of this Rube-Goldbergian contraption.
cd k3s
- mkdir -p build/data
- make download
- make generate
- make build
- make package
+ #scripts/archpkg
+ make archpkg
kill "$podman_pid"
wait "$podman_pid"
@@ -101,16 +135,23 @@ package() {
install -Dm644 \
k3s.service \
+ k3s-agent.service \
-t "$pkgdir/usr/lib/systemd/system"
install -Dm644 \
k3s-rootless.service \
+ k3s-agent-rootless.service \
-t "$pkgdir/usr/lib/systemd/user"
install -Dm600 \
"$srcdir/k3s.service.env" \
+ "$srcdir/k3s-agent.service.env" \
-t "$pkgdir/etc/systemd/system"
+ install -Dm600 \
+ "$srcdir/config.yaml" \
+ -t "$pkgdir/etc/rancher/k3s"
+
# air-gapped images
install -Dm644 \
dist/artifacts/k3s-airgap-images-amd64.tar.zst \