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>
This commit is contained in:
Ross Burton
2025-03-19 14:23:10 +00:00
committed by Richard Purdie
parent d86bb7085b
commit c05046519c

View File

@@ -32,7 +32,10 @@ EXTRA_OEMAKE += "CC="${CC} ${CFLAGS}" AR="${AR}" STRIP= LDFLAGS="${LDFLAGS}""
EXTRA_OEMAKE += "PREFIX=${prefix} LIBDIR=${libdir} SBINDIR=${sbindir} SHAREDIR=${datadir} MANDIR=${mandir}"
do_install () {
oe_runmake DESTDIR=${D} install install-lib
# Do these in separate calls as they expose a race in pseudo when creating
# symlinks when ran in parallel.
oe_runmake DESTDIR=${D} install
oe_runmake DESTDIR=${D} install-lib
install -d ${D}${bindir}