nixpkgs/pkgs
Nikolay Amiantov 74107a7867 buildFHSEnv: refactor and simplify, drop buildFHSChrootEnv
This takes another approach at binding FHS directory structure. We
now bind-mount all the root filesystem to directory "/host" in the target tree.
From that we symlink all the directories into the tree if they do not already
exist in FHS structure.

This probably makes `CHROOTENV_EXTRA_BINDS` unnecessary -- its main usecase was
to add bound directories from the host to the sandbox, and we not just symlink
all of them. I plan to get some feedback on its usage and maybe deprecate it.

This also drops old `buildFHSChrootEnv` infrastructure. The main problem with it
is it's very difficult to unmount a recursive-bound directory when mount is not
sandboxed. This problem is a bug even without these changes -- if
you have for example `/home/alice` mounted to somewhere, you wouldn't see
it in `buildFHSChrootEnv` now. With the new directory structure, it's
impossible to use regular bind at all. After some tackling with this I realized
that the fix would be brittle and dangerous (if you don't unmount everything
clearly and proceed to removing the temporary directory, bye-bye fs!). It also
probably doesn't worth it because I haven't heard that someone actually uses it
for a long time, and `buildFHSUserEnv` should cover most cases while being much
more maintainable and safe for the end-user.
2016-06-07 04:06:35 +03:00
..
applications Merge pull request #16024 from rushmorem/k8s-update 2016-06-06 19:42:34 +02:00
build-support buildFHSEnv: refactor and simplify, drop buildFHSChrootEnv 2016-06-07 04:06:35 +03:00
data geolite-legacy: 2016-05-31 -> 2016-06-06 2016-06-06 16:18:53 +02:00
desktops Revert "kde5.frameworks: 5.21 -> 5.22" 2016-06-05 14:56:27 -05:00
development Merge remote-tracking branch 'upstream/staging' into master 2016-06-06 22:17:38 +03:00
games Merge pull request #15966 from pshendry/master 2016-06-06 16:44:07 +02:00
misc vimPlugins: add purescript plugins 2016-06-04 17:25:08 -07:00
os-specific Fix lots of fetchgit hashes (fallout from #15469) 2016-06-03 17:17:08 +03:00
servers nginxModules.lua: 0.10.0 -> 0.10.5 2016-06-05 12:48:06 +02:00
shells xonsh: 0.2.7 -> 0.3.2 2016-06-04 18:05:12 +02:00
stdenv stdenv: fix paxmark 2016-05-27 18:57:59 +02:00
test Remove cruft 2016-04-26 17:31:54 +02:00
tools Merge pull request #16019 from cleverca22/master 2016-06-06 23:41:33 +02:00
top-level buildFHSEnv: refactor and simplify, drop buildFHSChrootEnv 2016-06-07 04:06:35 +03:00