diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-04-22 22:00:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-22 22:00:35 +0300 |
commit | a6cf8594cbb653d5cd36f80828047661b01ea9ae (patch) | |
tree | a5ac107b56d0d77658ea841bd70e702bb968dc14 /pkgs/build-support | |
parent | 1e02d3e829e23aba0453ddc20152717078f0583b (diff) | |
parent | 3c6e26b2ee808e3a895a83713904b63ba5dbc3bf (diff) |
Merge pull request #227510 from wegank/fhs-aarch64
buildFHSEnv: restrict pkgsi686Linux to x86_64-linux
Diffstat (limited to 'pkgs/build-support')
-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 78da74c82849f..305a959a35dd4 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 5d94c309fe080..6c9b71624c2bb 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[@]}" |