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