Unverified Commit 8aca0d94 authored by Jörg Thalheim's avatar Jörg Thalheim Committed by GitHub
Browse files

podman: backport removing incomplete layers fix (#367629)

parents 19a02419 a6a7341f
Loading
Loading
Loading
Loading
+18 −21
Original line number Diff line number Diff line
@@ -5,29 +5,18 @@ let

  inherit (lib) mkOption types;

  podmanPackage = pkgs.podman.override {
    extraPackages = cfg.extraPackages ++ [
        "/run/wrappers" # setuid shadow
        config.systemd.package # To allow systemd-based container healthchecks
      ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package;
    extraRuntimes = [ pkgs.runc ]
      ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [
      slirp4netns
    ]);
  };

  # Provides a fake "docker" binary mapping to podman
  dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}"
  dockerCompat = pkgs.runCommand "${cfg.package.pname}-docker-compat-${cfg.package.version}"
    {
      outputs = [ "out" "man" ];
      inherit (podmanPackage) meta;
      inherit (cfg.package) meta;
      preferLocalBuild = true;
    } ''
    mkdir -p $out/bin
    ln -s ${podmanPackage}/bin/podman $out/bin/docker
    ln -s ${cfg.package}/bin/podman $out/bin/docker

    mkdir -p $man/share/man/man1
    for f in ${podmanPackage.man}/share/man/man1/*; do
    for f in ${cfg.package.man}/share/man/man1/*; do
      basename=$(basename $f | sed s/podman/docker/g)
      ln -s $f $man/share/man/man1/$basename
    done
@@ -137,13 +126,21 @@ in
      };
    };

    package = lib.mkOption {
      type = types.package;
      default = podmanPackage;
      internal = true;
      description = ''
        The final Podman package (including extra packages).
    package = (lib.mkPackageOption pkgs "podman" {
      extraDescription = ''
        This package will automatically include extra packages and runtimes.
      '';
    }) // {
      apply = pkg: pkg.override {
        extraPackages = cfg.extraPackages ++ [
            "/run/wrappers" # setuid shadow
            config.systemd.package # To allow systemd-based container healthchecks
          ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package;
        extraRuntimes = [ pkgs.runc ]
          ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [
          slirp4netns
        ]);
      };
    };

    defaultNetwork.settings = lib.mkOption {
+10 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
  lib,
  stdenv,
  fetchFromGitHub,
  fetchpatch2,
  pkg-config,
  installShellFiles,
  buildGoModule,
@@ -91,6 +92,15 @@ buildGoModule rec {

    # we intentionally don't build and install the helper so we shouldn't display messages to users about it
    ./rm-podman-mac-helper-msg.patch

    # backport of fix for https://github.com/containers/storage/issues/2184
    # https://github.com/containers/storage/pull/2185
    (fetchpatch2 {
      url = "https://github.com/containers/storage/commit/99b0d2d423c8093807d8a1464437152cd04d7d95.diff?full_index=1";
      hash = "sha256-aahYXnDf3qCOlb6MfVDqFKCcQG257r5sbh5qnL0T40I=";
      stripLen = 1;
      extraPrefix = "vendor/github.com/containers/storage/";
    })
  ];

  vendorHash = null;