]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
pciutils: work around pseudo symlink creation race
authorRoss Burton <ross.burton@arm.com>
Wed, 19 Mar 2025 14:23:10 +0000 (14:23 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 20 Mar 2025 11:29:00 +0000 (11:29 +0000)
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

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-bsp/pciutils/pciutils_3.13.0.bb

index 74edd8686b0084eeaa2a0badbd8209182525d921..6478722838f6c2bb0dfe52e6f8d4ac15969ab5c0 100644 (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}