From: Otavio Salvador Date: Fri, 12 Jun 2026 02:48:29 +0000 (-0300) Subject: quota: use native rpcgen and a single-word RPCGEN_CPP X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=97a93dc468bdd172fe7eadca86bad9e149891eeb;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git quota: use native rpcgen and a single-word RPCGEN_CPP 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=... " 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 Signed-off-by: Richard Purdie --- 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"