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

Guard against path_conflicts (avoid broken envs) #686

Closed
tjd2002 opened this issue Dec 14, 2018 · 2 comments
Closed

Guard against path_conflicts (avoid broken envs) #686

tjd2002 opened this issue Dec 14, 2018 · 2 comments

Comments

@tjd2002
Copy link

tjd2002 commented Dec 14, 2018

Feature request: check packages for path conflicts in CI.

If two packages in conda-forge have path conflicts (i.e. they install files at the same location), then they are capable of clobbering each other on install. This is likely to leave the environment corrupted even after the offending package is fixed and updated. (See for instance #684 (comment) )

Would it be desirable for CI to help to prevent this situation by checking the list of files installed by a package against the file list of all other packages in conda-forge?. It could issue an advisory comment on the PR about which other packages conflict.

The check could be restricted to packages that might conceivably be co-installed, i.e. same arch (+noarch); latest version only. There should also be some mechanism for whitelisting expected conflicts, to avoid annoying developers.

Alternatively, this could be implemented as a QA check that is run occasionally by a bot, that then auto-files issues on feedstocks that are found to have conflicting files. I suppose one (I) could start just by looking at the files list at https://github.com/regro/libcflib and creating a report to see how widespread the issue is.

@scopatz
Copy link
Member

scopatz commented Dec 27, 2018

I think using libcflib for this is a great idea!

@beckermr
Copy link
Member

This is happening in artifact-validation and has been rolled into issue ##1189.

I am going to close this issue to clean things up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants