roualdes / bridgestan

BridgeStan provides efficient in-memory access through Python, Julia, and R to the methods of a Stan model.
https://roualdes.github.io/bridgestan
BSD 3-Clause "New" or "Revised" License
88 stars 12 forks source link

Pass -h/--dereference to tar in release action #176

Closed WardBrian closed 1 year ago

WardBrian commented 1 year ago

A user who was using Windows without administrative permissions reported to me that BridgeStan was failing to install the C++ sources due to a permissions error.

Some investigating showed that this was due to the symlink in rust/src, since symlinks are always permission 0777. After some digging, I found that GNU tar supports replacing symlinks with their targets by passing -h/--dereference, and in fact recommends doing this:

So, for portable archives, do not archive symbolic links as such, and use --dereference (-h): many systems do not support symbolic links, and moreover, your distribution might be unusable if it contains unresolved symbolic links.

Unfortunately this will only begin to take effect in the next release, and we're unable to update previous releases due to the Julia artifact containing a hash of those tarfiles.

WardBrian commented 1 year ago

@roualdes IMO it might be worth releasing a 2.2.1 after this with the only change being the fixed tar