k3s: replace `systemd` with `systemdMinimal` (#441287)

authored by Marcus Ramberg and committed by GitHub d1cbc4e8 2ab51941

+23 -25
+23 -25
pkgs/applications/networking/cluster/k3s/builder.nix
··· 41 ethtool, 42 fetchFromGitHub, 43 fetchgit, 44 - fetchpatch, 45 fetchurl, 46 fetchzip, 47 findutils, ··· 55 kmod, 56 lib, 57 libseccomp, 58 - makeWrapper, 59 nixosTests, 60 overrideBundleAttrs ? { }, # An attrSet/function to override the `k3sBundle` derivation. 61 overrideCniPluginsAttrs ? { }, # An attrSet/function to override the `k3sCNIPlugins` derivation. ··· 69 socat, 70 sqlite, 71 stdenv, 72 - systemd, 73 util-linuxMinimal, 74 yq-go, 75 zstd, 76 }: 77 78 # k3s is a kinda weird derivation. One of the main points of k3s is the ··· 328 }).overrideAttrs 329 overrideContainerdAttrs; 330 in 331 - buildGoModule rec { 332 pname = "k3s"; 333 version = k3sVersion; 334 pos = builtins.unsafeGetAttrPos "k3sVersion" attrs; ··· 345 # Nix prefers dynamically linked binaries over static binary. 346 347 substituteInPlace scripts/package-cli \ 348 - --replace '"$LDFLAGS $STATIC" -o' \ 349 - '"$LDFLAGS" -o' \ 350 - --replace "STATIC=\"-extldflags \'-static\'\"" \ 351 - "" 352 353 # Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate': 354 355 substituteInPlace scripts/package-cli \ 356 - --replace '"''${GO}" generate' \ 357 'GOFLAGS="" \ 358 GOOS="${pkgsBuildBuild.go.GOOS}" \ 359 GOARCH="${pkgsBuildBuild.go.GOARCH}" \ ··· 381 382 k3sKillallDeps = [ 383 bash 384 - systemd 385 procps 386 coreutils 387 gnugrep ··· 389 gnused 390 ]; 391 392 - buildInputs = k3sRuntimeDeps; 393 394 nativeBuildInputs = [ 395 - makeWrapper 396 rsync 397 yq-go 398 zstd ··· 439 # wildcard to match the arm64 build too 440 install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s 441 wrapProgram $out/bin/k3s \ 442 - --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \ 443 --prefix PATH : "$out/bin" 444 ln -s $out/bin/k3s $out/bin/kubectl 445 ln -s $out/bin/k3s $out/bin/crictl 446 ln -s $out/bin/k3s $out/bin/ctr 447 install -m 0755 ${k3sKillallSh} -D $out/bin/k3s-killall.sh 448 wrapProgram $out/bin/k3s-killall.sh \ 449 - --prefix PATH : ${lib.makeBinPath (k3sRuntimeDeps ++ k3sKillallDeps)} 450 runHook postInstall 451 ''; 452 453 doInstallCheck = true; 454 - installCheckPhase = '' 455 - runHook preInstallCheck 456 - $out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null 457 - runHook postInstallCheck 458 - ''; 459 460 passthru = { 461 inherit airgap-images; ··· 464 k3sRepo = k3sRepo; 465 k3sRoot = k3sRoot; 466 k3sBundle = k3sBundle; 467 - mkTests = 468 - version: 469 let 470 - k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version); 471 in 472 - lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s; 473 - tests = passthru.mkTests k3sVersion; 474 updateScript = updateScript; 475 imagesList = throw "k3s.imagesList was removed"; 476 airgapImages = throw "k3s.airgapImages was renamed to k3s.airgap-images"; ··· 481 // (lib.mapAttrs (_: value: fetchurl value) imagesVersions); 482 483 meta = baseMeta; 484 - }
··· 41 ethtool, 42 fetchFromGitHub, 43 fetchgit, 44 fetchurl, 45 fetchzip, 46 findutils, ··· 54 kmod, 55 lib, 56 libseccomp, 57 + makeBinaryWrapper, 58 nixosTests, 59 overrideBundleAttrs ? { }, # An attrSet/function to override the `k3sBundle` derivation. 60 overrideCniPluginsAttrs ? { }, # An attrSet/function to override the `k3sCNIPlugins` derivation. ··· 68 socat, 69 sqlite, 70 stdenv, 71 + systemdMinimal, 72 util-linuxMinimal, 73 yq-go, 74 zstd, 75 + versionCheckHook, 76 }: 77 78 # k3s is a kinda weird derivation. One of the main points of k3s is the ··· 328 }).overrideAttrs 329 overrideContainerdAttrs; 330 in 331 + buildGoModule (finalAttrs: { 332 pname = "k3s"; 333 version = k3sVersion; 334 pos = builtins.unsafeGetAttrPos "k3sVersion" attrs; ··· 345 # Nix prefers dynamically linked binaries over static binary. 346 347 substituteInPlace scripts/package-cli \ 348 + --replace-fail '"$LDFLAGS $STATIC" -o' \ 349 + '"$LDFLAGS" -o' 350 351 # Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate': 352 353 substituteInPlace scripts/package-cli \ 354 + --replace-fail '"''${GO}" generate' \ 355 'GOFLAGS="" \ 356 GOOS="${pkgsBuildBuild.go.GOOS}" \ 357 GOARCH="${pkgsBuildBuild.go.GOARCH}" \ ··· 379 380 k3sKillallDeps = [ 381 bash 382 + systemdMinimal 383 procps 384 coreutils 385 gnugrep ··· 387 gnused 388 ]; 389 390 + buildInputs = finalAttrs.k3sRuntimeDeps; 391 392 nativeBuildInputs = [ 393 + makeBinaryWrapper 394 rsync 395 yq-go 396 zstd ··· 437 # wildcard to match the arm64 build too 438 install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s 439 wrapProgram $out/bin/k3s \ 440 + --prefix PATH : ${lib.makeBinPath finalAttrs.k3sRuntimeDeps} \ 441 --prefix PATH : "$out/bin" 442 ln -s $out/bin/k3s $out/bin/kubectl 443 ln -s $out/bin/k3s $out/bin/crictl 444 ln -s $out/bin/k3s $out/bin/ctr 445 install -m 0755 ${k3sKillallSh} -D $out/bin/k3s-killall.sh 446 wrapProgram $out/bin/k3s-killall.sh \ 447 + --prefix PATH : ${lib.makeBinPath (finalAttrs.k3sRuntimeDeps ++ finalAttrs.k3sKillallDeps)} 448 runHook postInstall 449 ''; 450 451 doInstallCheck = true; 452 + nativeInstallCheckInputs = [ versionCheckHook ]; 453 + versionCheckProgramArg = "--version"; 454 455 passthru = { 456 inherit airgap-images; ··· 459 k3sRepo = k3sRepo; 460 k3sRoot = k3sRoot; 461 k3sBundle = k3sBundle; 462 + tests = 463 let 464 + mkTests = 465 + version: 466 + let 467 + k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version); 468 + in 469 + lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s; 470 in 471 + mkTests k3sVersion; 472 updateScript = updateScript; 473 imagesList = throw "k3s.imagesList was removed"; 474 airgapImages = throw "k3s.airgapImages was renamed to k3s.airgap-images"; ··· 479 // (lib.mapAttrs (_: value: fetchurl value) imagesVersions); 480 481 meta = baseMeta; 482 + })