[meta-oe,7/8] wpa-supplicant: Simplify build/install flow

Message ID 20220412130315.25917-7-alexk@zuma.ai
State New
Headers show
Series [meta-oe,1/8] wpa-supplicant: Reorder/group following style guide | expand

Commit Message

Alex Kiernan April 12, 2022, 1:03 p.m. UTC
The build/install steps for wpa-supplicant support CFLAGS and an install
target, so use these rather than attempting to do it manually (which was
broken by upstream splitting into build.rules and lib.rules).

Note that this installs wpa_passphrase into sbindir rather than bindir.

Signed-off-by: Alex Kiernan <alexk@zuma.ai>
---
 .../wpa-supplicant/wpa-supplicant_2.10.bb          | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

Comments

Köry Maincent April 21, 2022, 8:20 a.m. UTC | #1
Hello Alex,

On Tue, 12 Apr 2022 14:03:14 +0100
"Alex Kiernan" <alex.kiernan@gmail.com> wrote:

> The build/install steps for wpa-supplicant support CFLAGS and an install
> target, so use these rather than attempting to do it manually (which was
> broken by upstream splitting into build.rules and lib.rules).
> 
> Note that this installs wpa_passphrase into sbindir rather than bindir.

It seems the wpa_passphrase binary is not installed anymore with that patch.
Could you verify on your side?

Regards,
Alex Kiernan April 21, 2022, 9:04 a.m. UTC | #2
On Thu, Apr 21, 2022 at 9:20 AM Köry Maincent <kory.maincent@bootlin.com> wrote:
>
> Hello Alex,
>
> On Tue, 12 Apr 2022 14:03:14 +0100
> "Alex Kiernan" <alex.kiernan@gmail.com> wrote:
>
> > The build/install steps for wpa-supplicant support CFLAGS and an install
> > target, so use these rather than attempting to do it manually (which was
> > broken by upstream splitting into build.rules and lib.rules).
> >
> > Note that this installs wpa_passphrase into sbindir rather than bindir.
>
> It seems the wpa_passphrase binary is not installed anymore with that patch.
> Could you verify on your side?
>

Looks like it gets built, but not installed, seems like it's the
upstream patch which fixes parsing of the config for it (and the
shared library).

I'll take a look at it.


--
Alex Kiernan

Patch

diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb
index 51ec5004852b..861855e4851b 100644
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb
@@ -30,6 +30,8 @@  PACKAGECONFIG[openssl] = ",,openssl"
 
 CVE_PRODUCT = "wpa_supplicant"
 
+EXTRA_OEMAKE = "'LIBDIR=${libdir}' 'INCDIR=${includedir}' 'BINDIR=${sbindir}'"
+
 do_configure () {
 	${MAKE} -C wpa_supplicant clean
 	sed -e '/CONFIG_TLS=/d' <wpa_supplicant/defconfig >wpa_supplicant/.config
@@ -44,12 +46,7 @@  do_configure () {
 	rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d
 }
 
-export EXTRA_CFLAGS = "${CFLAGS}"
-export BINDIR = "${sbindir}"
-
 do_compile () {
-	unset CFLAGS CPPFLAGS CXXFLAGS
-	sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules
 	oe_runmake -C wpa_supplicant
 	if [ -z "${DISABLE_STATIC}" ]; then
 		oe_runmake -C wpa_supplicant libwpa_client.a
@@ -57,12 +54,7 @@  do_compile () {
 }
 
 do_install () {
-	install -d ${D}${sbindir}
-	install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir}
-	install -m 755 wpa_supplicant/wpa_cli        ${D}${sbindir}
-
-	install -d ${D}${bindir}
-	install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir}
+	oe_runmake -C wpa_supplicant DESTDIR="${D}" install
 
 	install -d ${D}${docdir}/wpa_supplicant
 	install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant