Using multiple PRs in --from-pr gives symlink error when combined with --copy-ec.
thay@toki04:~/src/misc/easybuild-easyconfigs> $ rm -rf /tmp/eb-*
thay@toki04:~/src/misc/easybuild-easyconfigs> eb --from-pr=17107,16724 --try-toolchain=nvompi,2022.07 --copy-ec HDF5-1.14.0-gompi-2022b.eb ./
== Temporary log file in case of crash /tmp/eb-0ng7l13c/easybuild-yicd3gbz.log
ERROR: Trying to symlink /tmp/eb-0ng7l13c/tmp_i_byh0s/easybuilders/easybuild-easyconfigs-develop/easybuild/easyconfigs/0 to /tmp/eb-0ng7l13c/fetch_files_from_pr_17107_16724/0, but the symlink already exists and points to /tmp/eb-0ng7l13c/tmp3paq2x_6/easybuilders/easybuild-easyconfigs-develop/easybuild/easyconfigs/0.
For me
eb --from-pr=17107,16724 -D
works, but
eb --from-pr=17107,16724 --copy-ec HDF5-1.14.0-gompi-2022b.eb .
fails with that error. That's going to be fun to track down...
OK. maybe the combination of --try-toolchain and --copy-ec using a toolchain that is only available in a PR/develop was asking for trouble, especially applying it to an EC which is only in a PR.
There's not really a good reason for eb --from-pr=17107,16724 --copy-ec HDF5-1.14.0-gompi-2022b.eb . to fail, so there is something fishy there
~~I think this is because one of the PRs is merged.~~
actually I often wondered, is there a --from-develop flag, or is using --from-pr the correct approach for merged-since-the-currently-used-EB-version PRs?
(EDIT: Actually I'm being stupider than that. It looks like 16724 was merged before 4.7.0. So the 2nd from-pr wasn't even necessary).
This still throws the same error on two (currently) unmerged PRs:
[ocaisa@node1 ~]$ eb --from-pr=17107,17217 --copy-ec HDF5-1.14.0-gompi-2022b.eb .
== Temporary log file in case of crash /tmp/eb-lpx5uaac/easybuild-congl_e5.log
ERROR: Trying to symlink /tmp/eb-lpx5uaac/tmp4765sdko/easybuilders/easybuild-easyconfigs-develop/easybuild/easyconfigs/0 to /tmp/eb-lpx5uaac/fetch_files_from_pr_17107_17217/0, but the symlink already exists and points to /tmp/eb-lpx5uaac/tmpusguol7g/easybuilders/easybuild-easyconfigs-develop/easybuild/easyconfigs/0.
I think the error here is that EB downloads a copy of the devel branch for each PR and unpacks it in a random directory rather than apply all the PR patches to a single copy of devel. The solution might be to use a fixed path inside the temp dir for the devel branch rather than a random directory