Skip to content
This repository has been archived by the owner on Aug 16, 2023. It is now read-only.

Add copyderef workaround for symlink-unfriendly filesystems #112

Merged
merged 1 commit into from
Sep 9, 2018

Conversation

staticfloat
Copy link
Member

We allow two methods to enable this workaround: Setting
BINARYPROVIDER_COPYDEREF=true in your environment to force it on, and
also auto-detection that runs every time you try to unpack() a
tarball. If auto-detection triggers (e.g. we attempt to create a symlink
and it fails, and symlinks are able to be created within tempdir())
we automatically enable copyderef mode, which will extract tarballs into
tempdir(), then copy the files from that temporary directory into the
true destination, collapsing symlinks and skipping broken links.

We allow two methods to enable this workaround: Setting
`BINARYPROVIDER_COPYDEREF=true` in your environment to force it on, and
also auto-detection that runs every time you try to `unpack()` a
tarball.  If auto-detection triggers (e.g. we attempt to create a symlink
and it fails, and symlinks are able to be created within `tempdir()`)
we automatically enable `copyderef` mode, which will extract tarballs into
`tempdir()`, then copy the files from that temporary directory into the
true destination, collapsing symlinks and skipping broken links.
@staticfloat staticfloat merged commit 7d109fd into master Sep 9, 2018
@ararslan ararslan deleted the sf/symlink_copyderef branch September 9, 2018 18:09
visr pushed a commit to visr/BinaryProvider.jl that referenced this pull request May 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant