diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-04-22 15:31:27 +0300 |
---|---|---|
committer | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-04-22 15:31:27 +0300 |
commit | 3c6e26b2ee808e3a895a83713904b63ba5dbc3bf (patch) | |
tree | 56b5ee74191ea682925a1bd39e93792af8b16272 /pkgs/build-support/build-fhsenv-bubblewrap | |
parent | 40e4b45adcbeccf7356bf0673a837dea4cd012ae (diff) | |
download | nixpkgs-3c6e26b2ee808e3a895a83713904b63ba5dbc3bf.tar nixpkgs-3c6e26b2ee808e3a895a83713904b63ba5dbc3bf.tar.gz nixpkgs-3c6e26b2ee808e3a895a83713904b63ba5dbc3bf.tar.bz2 nixpkgs-3c6e26b2ee808e3a895a83713904b63ba5dbc3bf.tar.lz nixpkgs-3c6e26b2ee808e3a895a83713904b63ba5dbc3bf.tar.xz nixpkgs-3c6e26b2ee808e3a895a83713904b63ba5dbc3bf.tar.zst nixpkgs-3c6e26b2ee808e3a895a83713904b63ba5dbc3bf.zip |
buildFHSEnv: restrict pkgsi686Linux to x86_64-linux
Diffstat (limited to 'pkgs/build-support/build-fhsenv-bubblewrap')
-rw-r--r-- | pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/build-fhsenv-bubblewrap/default.nix | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix index 78da74c8284..305a959a35d 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix @@ -64,7 +64,7 @@ let ldconfig = writeShellScriptBin "ldconfig" '' # due to a glibc bug, 64-bit ldconfig complains about patchelf'd 32-bit libraries, so we're using 32-bit ldconfig - exec ${pkgsi686Linux.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@" + exec ${if stdenv.isx86_64 && stdenv.isLinux then pkgsi686Linux.glibc.bin else pkgs.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@" ''; etcProfile = writeText "profile" '' export PS1='${name}-chrootenv:\u@\h:\w\$ ' diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix index 5d94c309fe0..6c9b71624c2 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , callPackage , runCommandLocal , writeShellScript @@ -113,6 +114,7 @@ let exec ${run} "$@" ''; + indentLines = str: lib.concatLines (map (s: " " + s) (filter (s: s != "") (lib.splitString "\n" str))); bwrapCmd = { initArgs ? "" }: '' ignored=(/nix /dev /proc /etc) ro_mounts=() @@ -202,11 +204,13 @@ let --symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \ --ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \ --remount-ro ${glibc}/etc \ + '' + lib.optionalString (stdenv.isx86_64 && stdenv.isLinux) (indentLines '' --tmpfs ${pkgsi686Linux.glibc}/etc \ --symlink /etc/ld.so.conf ${pkgsi686Linux.glibc}/etc/ld.so.conf \ --symlink /etc/ld.so.cache ${pkgsi686Linux.glibc}/etc/ld.so.cache \ --ro-bind ${pkgsi686Linux.glibc}/etc/rpc ${pkgsi686Linux.glibc}/etc/rpc \ --remount-ro ${pkgsi686Linux.glibc}/etc \ + '') + '' "''${ro_mounts[@]}" "''${symlinks[@]}" "''${auto_mounts[@]}" |