mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-09-25 12:00:22 +00:00
The 4.20251130.1 upgrade switched SRC_URI from a git snapshot to the
GitHub release tarball. That tarball ships a prebuilt libxdo.pc but does
not include pc.sh, even though the Makefile still carries the rule:
libxdo.pc: VERSION
sh pc.sh $(VERSION) $(INSTALLLIB) $(INSTALLINCLUDE) > libxdo.pc
do_install runs "make install", which pulls in the installpc target.
Because libxdo.pc depends on VERSION, whenever a fresh unpack leaves
VERSION with an mtime newer than or equal to libxdo.pc, make considers
the shipped libxdo.pc stale and re-runs pc.sh, failing with:
sh: 0: cannot open pc.sh: No such file
make: *** [Makefile:153: libxdo.pc] Error 2
The mtime ordering after unpack is not deterministic, so the failure is
intermittent and typically shows up after a re-fetch. On top of that,
the prebuilt libxdo.pc in the tarball hard-codes /usr/local paths, so
even when the race does not trigger, an incorrect .pc gets installed.
Ship the upstream pc.sh alongside the recipe and place it in ${S} so the
installpc rule regenerates libxdo.pc with the correct libdir/includedir
from EXTRA_OEMAKE. This fixes both the build failure and the wrong paths.
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>