Merge pull request #114821 from erosennin/catatonit
catatonit: init at 0.1.5, fix podman --init
This commit is contained in:
commit
04a37553f2
|
@ -118,8 +118,9 @@ in
|
||||||
[network]
|
[network]
|
||||||
cni_plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
|
cni_plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
|
||||||
|
|
||||||
${lib.optionalString (cfg.ociSeccompBpfHook.enable == true) ''
|
|
||||||
[engine]
|
[engine]
|
||||||
|
init_path = "${pkgs.catatonit}/bin/catatonit"
|
||||||
|
${lib.optionalString (cfg.ociSeccompBpfHook.enable) ''
|
||||||
hooks_dir = [
|
hooks_dir = [
|
||||||
"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",
|
"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",
|
||||||
]
|
]
|
||||||
|
|
|
@ -96,6 +96,15 @@ import ./make-test-python.nix (
|
||||||
podman.succeed(su_cmd("podman ps | grep sleeping"))
|
podman.succeed(su_cmd("podman ps | grep sleeping"))
|
||||||
podman.succeed(su_cmd("podman stop sleeping"))
|
podman.succeed(su_cmd("podman stop sleeping"))
|
||||||
podman.succeed(su_cmd("podman rm sleeping"))
|
podman.succeed(su_cmd("podman rm sleeping"))
|
||||||
|
|
||||||
|
with subtest("Run container with init"):
|
||||||
|
podman.succeed(
|
||||||
|
"tar cv -C ${pkgs.pkgsStatic.busybox} . | podman import - busybox"
|
||||||
|
)
|
||||||
|
pid = podman.succeed("podman run --rm busybox readlink /proc/self").strip()
|
||||||
|
assert pid == "1"
|
||||||
|
pid = podman.succeed("podman run --rm --init busybox readlink /proc/self").strip()
|
||||||
|
assert pid == "2"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
39
pkgs/applications/virtualization/catatonit/default.nix
Normal file
39
pkgs/applications/virtualization/catatonit/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, glibc, nixosTests }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "catatonit";
|
||||||
|
version = "0.1.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "openSUSE";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "ciJ1MI7jr5P2PgxIykQ+BiwNUO8lQHGt0+U8CNbc5bI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix compilation with musl
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/openSUSE/catatonit/commit/75014b1c3099245b7d0f44f24d7f6dc4888a45fd.patch";
|
||||||
|
sha256 = "sha256-9VMNUT1U90ocjvE7EXYfLxuodDwTXXHYg89qqa5Jq0g=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
buildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ];
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
readelf -d $out/bin/catatonit | grep 'There is no dynamic section in this file.'
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.tests = { inherit (nixosTests) podman; };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A container init that is so simple it's effectively brain-dead";
|
||||||
|
homepage = "https://github.com/openSUSE/catatonit";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ erosennin ] ++ teams.podman.members;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -197,6 +197,8 @@ in
|
||||||
inherit (python3Packages) sphinx;
|
inherit (python3Packages) sphinx;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
catatonit = callPackage ../applications/virtualization/catatonit { };
|
||||||
|
|
||||||
cen64 = callPackage ../misc/emulators/cen64 { };
|
cen64 = callPackage ../misc/emulators/cen64 { };
|
||||||
|
|
||||||
cereal = callPackage ../development/libraries/cereal { };
|
cereal = callPackage ../development/libraries/cereal { };
|
||||||
|
|
Loading…
Reference in a new issue