Unverified Commit 38295a27 authored by Vladimír Čunát's avatar Vladimír Čunát Committed by GitHub
Browse files

knot-resolver_6: various fixes and improvements (see individual commits) (#468844)

parents b5760f59 59a988f7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ in
        If you want to use knot-resolver 5, please use services.kresd.
      '';
    };
    package = lib.mkPackageOption pkgs "knot-resolver_6" {
    package = lib.mkPackageOption pkgs "knot-resolver-manager_6.knot-resolver" {
      example = "knot-resolver_6.override { extraFeatures = true; }";
    };
    managerPackage = lib.mkPackageOption pkgs "knot-resolver-manager_6" { };
+34 −9
Original line number Diff line number Diff line
{
  knot-resolver_6,
  writeText,
  python3Packages,
  extraFeatures ? false,
}:

let
  knot-resolver = knot-resolver_6.override { inherit extraFeatures; };
in
python3Packages.buildPythonPackage {
  pname = "knot-resolver-manager_6";
  inherit (knot-resolver_6) version src;
  inherit (knot-resolver) version;
  inherit (knot-resolver.unwrapped) src;
  pyproject = true;

  patches = [
@@ -19,8 +22,9 @@ python3Packages.buildPythonPackage {
  # Propagate meson config from the C part to the python part.
  # But the install-time etc differs from a sensible run-time etc.
  postPatch = ''
    substitute '${knot-resolver_6.config_py}'/knot_resolver/constants.py ./python/knot_resolver/constants.py \
      --replace-fail '${knot-resolver_6.out}/etc' '/etc'
    substitute '${knot-resolver.unwrapped.config_py}'/knot_resolver/constants.py ./python/knot_resolver/constants.py \
      --replace-fail '${knot-resolver.unwrapped.out}/etc' '/etc' \
      --replace-fail '${knot-resolver.unwrapped.out}/sbin' '${knot-resolver}/bin'
  '';

  build-system = with python3Packages; [
@@ -38,9 +42,8 @@ python3Packages.buildPythonPackage {
    typing-extensions
  ];

  doCheck = false; # FIXME
  checkInputs = with python3Packages; [
    python3Packages.augeas
  nativeCheckInputs = with python3Packages; [
    augeas
    dnspython
    lief
    pytestCheckHook
@@ -50,7 +53,29 @@ python3Packages.buildPythonPackage {
    toml
  ];

  meta = knot-resolver_6.meta // {
  preCheck = ''
    mkdir -p /tmp
  '';

  disabledTestPaths = [
    # FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pytest-kresd-portdir/11076'
    "tests/pytests/test_conn_mgmt.py"
    "tests/pytests/test_edns.py"
    "tests/pytests/test_prefix.py"
    "tests/pytests/test_tls.py"
  ];

  disabledTests = [
    # FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pytest-kresd-portdir/11076'
    "test_proxy_random_close"
    "test_proxy_rehandshake_tls12"
  ];

  passthru = {
    inherit knot-resolver;
  };

  meta = knot-resolver.meta // {
    mainProgram = "knot-resolver";
  };
}
+1 −1
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ let
        ];
        preferLocalBuild = true;
        allowSubstitutes = false;
        inherit (unwrapped) meta;
        inherit (unwrapped) version meta;
      }
      (
        ''
+10 −5
Original line number Diff line number Diff line
@@ -97,12 +97,10 @@ let
    ++ [
      jemalloc
      nghttp2
    ]
    ++ [
      # dnstap support
      fstrm
      protobufc
    ] # dnstap support
    ;
    ];

    mesonFlags = [
      "-Dkeyfile_default=${dns-root-data}/root.ds"
@@ -138,6 +136,10 @@ let
      meson test --print-errorlogs --no-suite snowflake
    '';

    passthru = {
      unwrapped = finalAttrs.finalPackage;
    };

    meta = {
      description = "Caching validating DNS resolver, from .cz domain registry";
      homepage = "https://knot-resolver.cz";
@@ -164,7 +166,10 @@ let
        ];
        preferLocalBuild = true;
        allowSubstitutes = false;
        inherit (unwrapped) meta;
        inherit (unwrapped) version meta;
        passthru = {
          inherit unwrapped;
        };
      }
      (
        ''