From 3194ce025c746acdc5460a7a7d4fff298ba6a3e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 25 Sep 2021 18:38:53 +0200 Subject: [PATCH 1/2] cpio: add two subsequent upstream patches They fix bugs in the first patch. --- pkgs/tools/archivers/cpio/default.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix index c172edd1fd98..7aeeef7322ee 100644 --- a/pkgs/tools/archivers/cpio/default.nix +++ b/pkgs/tools/archivers/cpio/default.nix @@ -11,12 +11,19 @@ in stdenv.mkDerivation { sha256 = "0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga"; }; - patches = [ - (fetchpatch { - name = "CVE-2021-38185.patch"; - url = "https://git.savannah.gnu.org/cgit/cpio.git/patch/?id=dd96882877721703e19272fe25034560b794061b"; - sha256 = "0vmr0qjwj2ldnzsvccl105ckwgx3ssvn9mp3f27ss0kiyigrzz32"; - }) + patches = let + fp = suffix: rev: sha256: fetchpatch { + name = "CVE-2021-38185-${suffix}.patch"; + url = "https://git.savannah.gnu.org/cgit/cpio.git/patch/?id=${rev}"; + inherit sha256; + }; + in [ + (fp "1" "dd96882877721703e19272fe25034560b794061b" + "0vmr0qjwj2ldnzsvccl105ckwgx3ssvn9mp3f27ss0kiyigrzz32") + (fp "2" "dfc801c44a93bed7b3951905b188823d6a0432c8" + "1qkrhi3lbxk6hflp6w3h4sgssc0wblv8r0qgxqzbjrm36pqwxiwh") + (fp "3" "236684f6deb3178043fe72a8e2faca538fa2aae1" + "0pidkbxalpj5yz4fr95x8h0rizgjij0xgvjgirfkjk460giawwg6") ]; preConfigure = if stdenv.isCygwin then '' From c3330fa752d2fa06d6f8ad68d535152fb9d1d778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 25 Sep 2021 18:40:56 +0200 Subject: [PATCH 2/2] cpio: clean up the nix expression --- pkgs/tools/archivers/cpio/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix index 7aeeef7322ee..5b57dc20e3bf 100644 --- a/pkgs/tools/archivers/cpio/default.nix +++ b/pkgs/tools/archivers/cpio/default.nix @@ -1,13 +1,11 @@ { lib, stdenv, fetchurl, fetchpatch }: -let +stdenv.mkDerivation rec { + pname = "cpio"; version = "2.13"; - name = "cpio-${version}"; -in stdenv.mkDerivation { - inherit name; src = fetchurl { - url = "mirror://gnu/cpio/${name}.tar.bz2"; + url = "mirror://gnu/cpio/cpio-${version}.tar.bz2"; sha256 = "0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga"; }; @@ -26,9 +24,9 @@ in stdenv.mkDerivation { "0pidkbxalpj5yz4fr95x8h0rizgjij0xgvjgirfkjk460giawwg6") ]; - preConfigure = if stdenv.isCygwin then '' + preConfigure = lib.optionalString stdenv.isCygwin '' sed -i gnu/fpending.h -e 's,include ,,' - '' else null; + ''; enableParallelBuilding = true;