Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Symlinking the sub directory should be disabled by default #1284

Open
fffonion opened this issue Sep 10, 2024 · 0 comments
Open

Symlinking the sub directory should be disabled by default #1284

fffonion opened this issue Sep 10, 2024 · 0 comments

Comments

@fffonion
Copy link
Contributor

As a regression of #983, directories in a repository
is symlinked by default. This is IMO not the correct behaviour as it will cause the object file and target
file to generate in the original repsitory folder, if the build system is a simple make or configure_make
that generates file in place. The respository is supposed to not get changed after analysis phase otherwise
it's no longer hermetic.

Assume I have a project, in the repository, something like execroot/_main/external/myrepo in path:

src/
src/main.c
Makefile

After the mentioned PR, in BUILD_TMPDIR we will have (something like external/myrepo/myproject.build_tmpdir in path):

src@ <symlink>
Makefile <symlink>

After this PR we end up writing main.o and main back to execroot/_main/external/myrepo/src.

This will further cause problem if a target are required to compile in both exec and target configuration,
a race condition will happen to create either artifacts with exec or target configuration, or fail the build
completely.

@fffonion fffonion changed the title Symlinking the directory should be disabled by default Symlinking the sub directory should be disabled by default Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant