From 061ff21bbf5ca1df9f956756c923613e0e7301d5 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 15:07:45 +0100 Subject: [PATCH 1/4] kubernetes: use removeReferencesTo --- .../networking/cluster/kubernetes/default.nix | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index 952fd8fe9b6..ecb2cd65a37 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, which, go, go-bindata, makeWrapper, rsync +{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync , iptables, coreutils , components ? [ "cmd/kubeadm" @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { sha256 = "1ps9bn5gqknyjv0b9jvp7xg3cyd4anq11j785p22347al0b8w81v"; }; - buildInputs = [ makeWrapper which go rsync go-bindata ]; + buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ]; outputs = ["out" "man" "pause"]; @@ -59,12 +59,7 @@ stdenv.mkDerivation rec { ''; preFixup = '' - # Remove references to go compiler - while read file; do - cat $file | sed "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" > $file.tmp - mv $file.tmp $file - chmod +x $file - done < <(find $out/bin $pause/bin -type f 2>/dev/null) + find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' + ''; meta = { From 0c6a1eaa434ce6d0186ad1777de68c553cf6ccc6 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 15:07:56 +0100 Subject: [PATCH 2/4] containerd: use removeReferencesTo --- pkgs/applications/virtualization/containerd/default.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix index c428c56b313..c07670b5de6 100644 --- a/pkgs/applications/virtualization/containerd/default.nix +++ b/pkgs/applications/virtualization/containerd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub +{ stdenv, lib, fetchFromGitHub, removeReferencesTo , go, libapparmor, apparmor-parser, libseccomp }: with lib; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "16p8kixhzdx8afpciyf3fjx43xa3qrqpx06r5aqxdrqviw851zh8"; }; - buildInputs = [ go ]; + buildInputs = [ removeReferencesTo go ]; preBuild = '' ln -s $(pwd) vendor/src/github.com/docker/containerd @@ -26,10 +26,7 @@ stdenv.mkDerivation rec { ''; preFixup = '' - # remove references to go compiler - while read file; do - sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file - done < <(find $out/bin -type f 2>/dev/null) + find $out -type f -exec remove-references-to -t ${go} '{}' + ''; meta = { From c4fe1960877dc8d6d7dfa006bcfa0b77e5d9792f Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 15:08:04 +0100 Subject: [PATCH 3/4] docker: use removeReferencesTo --- pkgs/applications/virtualization/docker/default.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 903ee98a0e1..f2db629336c 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -1,5 +1,5 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, pkgconfig, go-md2man -, go, containerd, runc, docker-proxy, tini +{ stdenv, lib, fetchFromGitHub, makeWrapper, removeReferencesTo, pkgconfig +, go-md2man, go, containerd, runc, docker-proxy, tini , sqlite, iproute, bridge-utils, devicemapper, systemd , btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs , procps @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { }); buildInputs = [ - makeWrapper pkgconfig go-md2man go + makeWrapper removeReferencesTo pkgconfig go-md2man go sqlite devicemapper btrfs-progs systemd ]; @@ -126,12 +126,7 @@ stdenv.mkDerivation rec { ''; preFixup = '' - # remove references to go compiler, gcc and glibc - while read file; do - sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file - sed -ri "s,${stdenv.cc.cc},$(echo "${stdenv.cc.cc}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file - sed -ri "s,${stdenv.glibc.dev},$(echo "${stdenv.glibc.dev}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file - done < <(find $out -type f 2>/dev/null) + find $out -type f -exec remove-references-to -t ${go} -t ${stdenv.cc.cc} -t ${stdenv.glibc.dev} '{}' + ''; meta = { From d082a29c3a0eeb014b678c2797329389274fc4a2 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 15:08:09 +0100 Subject: [PATCH 4/4] runc: use removeReferencesTo --- pkgs/applications/virtualization/runc/default.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix index 7f19121b7f5..3ce183d90e2 100644 --- a/pkgs/applications/virtualization/runc/default.nix +++ b/pkgs/applications/virtualization/runc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, go-md2man +{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, go-md2man , go, pkgconfig, libapparmor, apparmor-parser, libseccomp }: with lib; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { hardeningDisable = ["fortify"]; - buildInputs = [ go-md2man go pkgconfig libseccomp libapparmor apparmor-parser ]; + buildInputs = [ removeReferencesTo go-md2man go pkgconfig libseccomp libapparmor apparmor-parser ]; makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor''; @@ -61,10 +61,7 @@ stdenv.mkDerivation rec { ''; preFixup = '' - # remove references to go compiler - while read file; do - sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file - done < <(find $out/bin -type f 2>/dev/null) + find $out/bin -type f -exec remove-references-to -t ${go} '{}' + ''; meta = {