diff options
author | Ross Burton <ross.burton@arm.com> | 2025-03-19 14:23:10 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-03-20 11:29:04 +0000 |
commit | c05046519ccb6268ab6fbc5d4a6ea47ac7dce17d (patch) | |
tree | 6d9153d0347379984b95d138fc4da4559264c99b /meta | |
parent | d86bb7085b2f77674dd5b41522359ff6bc3a34eb (diff) | |
download | poky-c05046519ccb6268ab6fbc5d4a6ea47ac7dce17d.tar.gz |
pciutils: work around pseudo symlink creation race
Richard managed to reproduce a pseudo bug that pciutils in a minimal
test case[1] which confirmed that it was the symlink creation causing
issues.
The pciutils Makefile has several installation targets:
- install: binaries, manpages, shared library
- install-lib: headers, library symlinks, shared library
We need to run both targets to install the full set of files we want to
be installed, but notably they both create the .so symlink and as they're
running in parallel this is what triggers the bug in pseudo.
Until the bug has been resolved (or the Makefiles don't duplicate rules),
just run the two targets separately.
[ YOCTO #14957 ]
[1] https://lore.kernel.org/openembedded-core/20250319133457.806384-1-richard.purdie@linuxfoundation.org/T/#u
(From OE-Core rev: a5fc49fafe910a25be7372c82bfbd7876871ce3f)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-bsp/pciutils/pciutils_3.13.0.bb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb b/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb index 74edd8686b..6478722838 100644 --- a/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb +++ b/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb | |||
@@ -32,7 +32,10 @@ EXTRA_OEMAKE += "CC="${CC} ${CFLAGS}" AR="${AR}" STRIP= LDFLAGS="${LDFLAGS}"" | |||
32 | EXTRA_OEMAKE += "PREFIX=${prefix} LIBDIR=${libdir} SBINDIR=${sbindir} SHAREDIR=${datadir} MANDIR=${mandir}" | 32 | EXTRA_OEMAKE += "PREFIX=${prefix} LIBDIR=${libdir} SBINDIR=${sbindir} SHAREDIR=${datadir} MANDIR=${mandir}" |
33 | 33 | ||
34 | do_install () { | 34 | do_install () { |
35 | oe_runmake DESTDIR=${D} install install-lib | 35 | # Do these in separate calls as they expose a race in pseudo when creating |
36 | # symlinks when ran in parallel. | ||
37 | oe_runmake DESTDIR=${D} install | ||
38 | oe_runmake DESTDIR=${D} install-lib | ||
36 | 39 | ||
37 | install -d ${D}${bindir} | 40 | install -d ${D}${bindir} |
38 | 41 | ||