On Mon, 6 Sep 2021 09:58:09 +0200 Bastian Blank <[email protected]> wrote:
Package: dh-exec Version: 0.23.4 Severity: importantdh-exec and dh_prep are racy together in it's usage of the global source directory "debian/tmp". dh-exec-install-rename uses "debian/tmp" to create it's files. But at the same time dh_prep also removes this global directory. So every concurrent use of dh-exec leads to race conditions. This leads to errors like this[1]: | Error in tempdir() using debian/tmp/dh-exec.XXXXXXXX: Parent directory (debian/tmp) does not exist at /usr/share/dh-exec/dh-exec-install-rename line 18. | BEGIN failed--compilation aborted at | /usr/share/dh-exec/dh-exec-install-rename line 25. Bastian [1]: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=ppc64el&ver=5.14-1%7Eexp2&stamp=1630872170&raw=1 -- The sight of death frightens them [Earthers]. -- Kras the Klingon, "Friday's Child", stardate 3497.2
The `dh_prep` command should not be run in parallel with anything that needs `debian/tmp` as it deliberately resets `debian/tmp` to enable `dh_auto_install` to install into a clean slate (in case of a `-nc` build).
This is a limitation of `debhelper` and not limited to `dh_prep` and anything interested in `debian/tmp` or `debian/<pkg>/`. Another (more recent) example is `dh_update_autotools_config` vs. `dh_assistant restore-file-on-clean` (or just either of those in parallel with themselves).
Best regards, Niels
OpenPGP_signature.asc
Description: OpenPGP digital signature

