diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-12-04 19:54:44 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-12-04 19:54:44 +0100 |
commit | 6751fac41836112b07e46cb398296918951f9cb6 (patch) | |
tree | 6e28f3bde1dfcb5878b960a22854402cc7fecd22 | |
parent | f4ec141869f77ed36cc51e2d4da172b238c2823b (diff) | |
download | nixlib-6751fac41836112b07e46cb398296918951f9cb6.tar nixlib-6751fac41836112b07e46cb398296918951f9cb6.tar.gz nixlib-6751fac41836112b07e46cb398296918951f9cb6.tar.bz2 nixlib-6751fac41836112b07e46cb398296918951f9cb6.tar.lz nixlib-6751fac41836112b07e46cb398296918951f9cb6.tar.xz nixlib-6751fac41836112b07e46cb398296918951f9cb6.tar.zst nixlib-6751fac41836112b07e46cb398296918951f9cb6.zip |
dpkg: Fix caching of architecture name
Our deb-closure script would causes zillions of invocations of "dpkg --print-architecture", which is rather slow.
-rw-r--r-- | pkgs/tools/package-management/dpkg/cache-arch.patch | 15 | ||||
-rw-r--r-- | pkgs/tools/package-management/dpkg/default.nix | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/dpkg/cache-arch.patch b/pkgs/tools/package-management/dpkg/cache-arch.patch new file mode 100644 index 000000000000..9677c8fdee35 --- /dev/null +++ b/pkgs/tools/package-management/dpkg/cache-arch.patch @@ -0,0 +1,15 @@ +Don't invoke "dpkg --print-architecture" for every call to +Dpkg::Arch::get_raw_build_arch(). + +diff -ru -x '*~' dpkg-1.16.9/scripts/Dpkg/Arch.pm dpkg-1.16.9-new/scripts/Dpkg/Arch.pm +--- dpkg-1.16.9/scripts/Dpkg/Arch.pm 2012-10-20 06:34:17.000000000 +0200 ++++ dpkg-1.16.9-new/scripts/Dpkg/Arch.pm 2012-12-04 19:42:20.451002537 +0100 +@@ -59,7 +59,7 @@ + # dpkg-architecture itself, by avoiding computing the DEB_BUILD_ + # variables when they are not requested. + +- my $build_arch = `dpkg --print-architecture`; ++ $build_arch = `dpkg --print-architecture`; + syserr("dpkg --print-architecture failed") if $? >> 8; + + chomp $build_arch; diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix index 849780ad047d..e801bcfb2c29 100644 --- a/pkgs/tools/package-management/dpkg/default.nix +++ b/pkgs/tools/package-management/dpkg/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation { sha256 = "0ykby9x4x2zb7rfj30lfjcsrq2q32z2lnsrl8pbdvb2l9sx7zkbk"; }; + patches = [ ./cache-arch.patch ]; + configureFlags = "--disable-dselect --with-admindir=/var/lib/dpkg PERL_LIBDIR=$(out)/${perl.libPrefix}"; preConfigure = '' |