diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2023-04-18 12:28:14 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2023-04-18 12:44:24 +0200 |
commit | c228f58a7d2ae3cfd606a591bdbd6bbeba0484b5 (patch) | |
tree | 8c03af667f0696cfca2d55c09e43448263d120ca | |
parent | 6490028cfb4b57eee115e9480f45be07c6ae2e02 (diff) | |
download | justbuild-c228f58a7d2ae3cfd606a591bdbd6bbeba0484b5.tar.gz |
bootstrap traverser: prefer hard over symlinks
... as in this way, the setup is more close to the one used in
our build tool. In particular, tools that search for auxilliary
files relativ to their own location get confused less.
-rwxr-xr-x | bin/bootstrap-traverser.py | 5 | ||||
-rwxr-xr-x | bin/parallel-bootstrap-traverser.py | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/bin/bootstrap-traverser.py b/bin/bootstrap-traverser.py index d2961312..a58abb04 100755 --- a/bin/bootstrap-traverser.py +++ b/bin/bootstrap-traverser.py @@ -50,7 +50,10 @@ def build_known(desc, *, root): def link(src, dest): dest = os.path.normpath(dest) os.makedirs(os.path.dirname(dest), exist_ok=True) - os.symlink(src, dest) + try: + os.link(src, dest) + except: + os.symlink(src, dest) def build_local(desc, *, root, config): repo_name = desc["data"]["repository"] diff --git a/bin/parallel-bootstrap-traverser.py b/bin/parallel-bootstrap-traverser.py index beaf75bd..b9eb2d36 100755 --- a/bin/parallel-bootstrap-traverser.py +++ b/bin/parallel-bootstrap-traverser.py @@ -196,7 +196,10 @@ def build_known(desc, *, root): def link(src, dest): dest = os.path.normpath(dest) os.makedirs(os.path.dirname(dest), exist_ok=True) - os.symlink(src, dest) + try: + os.link(src, dest) + except: + os.symlink(src, dest) def build_local(desc, *, root, config): repo_name = desc["data"]["repository"] |