Commit 62f4973
authored
Use
When copying files, `cp` can either follow (dereference) symlinks or
preserve them. If no explicit `--dereference` or `--no-dereference`
option is passed, the default behaviour is currently unspecified by
the POSIX specification, and in practice arbitrarily varies based on
other options that are passed.
Specifically, when using `--link`, cp now defaults to following
symlinks, which:
(a) means the files aren't copied/linked verbatim
(b) means the copy will fail if any of the symlinks are broken
For the files owned by the buildpack there are no broken symlinks,
however, Python packages in the wild can contain broken symlinks,
which causes the build to fail with errors like:
```
-----> Saving cache
cp: cannot stat '/tmp/build_123/.heroku/python/src/django-admin-autocomplete-list-filter/.pylintrc': No such file or directory
```
Now, `--no-dereference` is passed, to explicitly disable
dereferencing, so we're not dependant on the unspecified
defaults.
GUS-W-19714036.cp --no-dereference when saving the cache (#1909)1 parent 2debd95 commit 62f4973
2 files changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
193 | 196 | | |
194 | 197 | | |
195 | 198 | | |
| |||
0 commit comments