summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/GitPython
diff options
context:
space:
mode:
authorAlexey Shmalko <rasen.dubi@gmail.com>2016-07-09 23:47:15 +0300
committerNikolay Amiantov <ab@fmap.me>2016-07-13 03:54:11 +0300
commit0172558e8278eda2f08f9fc02ff831538548ced3 (patch)
treeb2b4fad03a987b3f9b74a94071c40fb46ebc3fd8 /pkgs/development/python-modules/GitPython
parentf56a319e3ef1518274026d3350dfdca956a7ac1e (diff)
buildEnv: build the whole tree of directories to pathsToLink
This patch fixes #16614 and #16741. The first issue was caused by the fact that both `/share` and `/share/fish/vendor_completions.d` end in the `pathsToLink`. The `pkgs/build-support/buildenv/builder.pl` creates `/share`, then links `/share/fish` under `/share` and then tries to create the directory `/share/fish/vendor_completions.d` and fails because it already exists. The simplest way to reproduce the issue is to build the next Nix expression: ```nix let pkgs = import <nixpkgs> { }; in pkgs.buildEnv { name = "buildenv-issue"; paths = [ pkgs.fish pkgs.vim ]; pathsToLink = [ "/share" "/share/fish/vendor_completions.d" ]; } ``` The second issue is more critical and was caused by the fact findFiles doesn't recurse deep enough. It stops at first unique directory for the package (e.g., "/share" or even "/") and later the scripts decides it shouldn't link it as it doesn't match pathsToLink (e.g., "/share/fish"), so the result is empty. The test: ```nix let pkgs = import <nixpkgs> { }; in pkgs.buildEnv { name = "buildenv-issue"; paths = [ pkgs.fish pkgs.vim ]; pathsToLink = [ "/share/fish/functions" ]; } ``` or ```nix let pkgs = import <nixpkgs> { }; in pkgs.buildEnv { name = "buildenv-issue"; paths = [ pkgs.vim ]; pathsToLink = [ "/share" ]; } ```
Diffstat (limited to 'pkgs/development/python-modules/GitPython')
0 files changed, 0 insertions, 0 deletions