diff mbox series

quota: use native rpcgen and a single-word RPCGEN_CPP

Message ID 20260612024829.4160586-1-otavio@ossystems.com.br
State New
Headers show
Series quota: use native rpcgen and a single-word RPCGEN_CPP | expand

Commit Message

Otavio Salvador June 12, 2026, 2:48 a.m. UTC
The rpc PACKAGECONFIG regenerates rquota.{c,h} and rquota_clnt.c from
rquota.x with rpcgen at build time, as the tarball ships no
pre-generated copies. Two problems made this fail:

- rpcgen was picked up from the host via HOSTTOOLS rather than from the
  build, which is non-deterministic and breaks on hosts that have no
  rpcgen at all.

- rpcgen execs its C preprocessor as a single program name, but OE
  exports $CPP as a multi-word "gcc -E --sysroot=... <flags>" string,
  so rpcgen reports "cannot find C preprocessor" and aborts.

Depend on rpcsvc-proto-native so rpcgen comes from the build, and set
RPCGEN_CPP to the single-word cross cpp so the preprocessor can be
exec'd.

Tested with bitbake quota (configure/compile/install/package) on
qemuarm.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 meta/recipes-extended/quota/quota_4.11.bb | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/recipes-extended/quota/quota_4.11.bb b/meta/recipes-extended/quota/quota_4.11.bb
index b386071961..811056f1f7 100644
--- a/meta/recipes-extended/quota/quota_4.11.bb
+++ b/meta/recipes-extended/quota/quota_4.11.bb
@@ -26,6 +26,10 @@  ASNEEDED = ""
 PACKAGECONFIG ??= "rpc bsd"
 PACKAGECONFIG:libc-musl = "rpc"
 
-PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc"
+# rpcgen execs its preprocessor as a single program; OE's multi-word $CPP fails,
+# so point it at the cross cpp instead.
+export RPCGEN_CPP = "${TARGET_PREFIX}cpp"
+
+PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc rpcsvc-proto-native"
 PACKAGECONFIG[bsd] = "--enable-bsd_behaviour=yes,--enable-bsd_behaviour=no,"
 PACKAGECONFIG[ldapmail] = "--enable-ldapmail,--disable-ldapmail,openldap"