Chisel dies on symlink when run for second time
- Dominant language
- Go
- Stars
- 424
- Forks
- 65
- Avg merge
- 12d 19h
- Merged PRs (30d)
- 1
Description
Chisel version: `2b260842c9c`
Currently chisel cannot be run repeatedly on already populated output directory when there are symlinks. IOW chisel run is not idempotent.
Example slice (`libc6_libs` dependency omitted for brevity):
```
$ cat slices/libkeyutils1.yaml
package: libkeyutils1
slices:
libs:
contents:
/lib/x86_64-linux-gnu/libkeyutils.so.*:
```
First run is OK:
```
$ mkdir output
$ chisel cut --release . --root output/ libkeyutils1_libs
...
2022/06/03 12:16:25 Extracting files from package "libkeyutils1"...
$ tree --noreport -p output/
[drwxrwxr-x] output/
└── [drwxr-xr-x] lib
└── [drwxr-xr-x] x86_64-linux-gnu
├── [lrwxrwxrwx] libkeyutils.so.1 -> libkeyutils.so.1.9
└── [-rw-r--r--] libkeyutils.so.1.9
```
Second run fails (no changes in `output/`):
```
$ chisel cut --release . --root output/ libkeyutils1_libs
...
2022/06/03 12:17:03 Extracting files from package "libkeyutils1"...
error: cannot extract from package "libkeyutils1": symlink libkeyutils.so.1.9 output/lib/x86_64-linux-gnu/libkeyutils.so.1: file exists
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.