Skip to contentSkip to conversation

wpa_supplicant - Specify that old and new dbus are incompatible

PATCH New Pierre Ducroquet 3 participants 5 messages Feb 18, 2018 – Dec 16, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 wpa_supplicant - Specify that old and new dbus are incompatible

Building wpa-supplicant with support for both DBus interfaces generates broken .service files.
Marking old and new DBus incompatible in Config.in makes this conflict clear.

---
 package/wpa_supplicant/Config.in | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
package/wpa_supplicant/Config.in +17 -2
index 58a074fae8..500df354a2 100644
@@ -100,20 +100,33 @@ config BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE
 	help
 	  Install wpa_passphrase command line utility.
 
+config BR2_PACKAGE_WPA_SUPPLICANT_DBUS
+	bool "Enable support for DBus control interface"
+	depends on BR2_PACKAGE_DBUS
+	help
+	 Enable support for DBus control interface
+
+if BR2_PACKAGE_WPA_SUPPLICANT_DBUS
+
+choice
+	prompt "DBus interface"
+
 config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD
-	bool "Enable support for old DBus control interface"
+	bool "Use old DBus control interface"
 	depends on BR2_PACKAGE_DBUS
 	help
 	  Enable support for old DBus control interface
 	  (fi.epitest.hostap.WPASupplicant).
 
 config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW
-	bool "Enable support for new DBus control interface"
+	bool "Use new DBus control interface"
 	depends on BR2_PACKAGE_DBUS
 	help
 	  Enable support for new DBus control interface
 	  (fi.w1.wpa_supplicant1).
 
+endchoice
+
 config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION
 	bool "Introspection support"
 	depends on BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW
@@ -121,3 +134,5 @@ config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION
 	  Add introspection support for new DBus control interface.
 
 endif
+
+endif
Signature · 1 line
2.16.1
#1 lore raw

PATCH 1/1 wpa_supplicant - Specify that old and new dbus are incompatible

Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Pierre" == Pierre Ducroquet <[email protected]> writes:

Building wpa-supplicant with support for both DBus interfaces generates broken .service files.

In what way are they broken? I did a quick test build of 3 configurations:

- Only old
- Only new
- Old and new

and I don't see any difference in the .service files?

Signature · 1 line
Bye, Peter Korsgaard
author
#2 lore raw

PATCH 1/1 wpa_supplicant - Specify that old and new dbus are incompatible

Quoted 4 lines · CET Peter Korsgaard
Quoted 3 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Pierre" == Pierre Ducroquet <[email protected]> writes:

Building wpa-supplicant with support for both DBus interfaces generates broken .service files.

Quoted 8 lines

In what way are they broken? I did a quick test build of 3 configurations:

- Only old
- Only new
- Old and new

and I don't see any difference in the .service files?

It generated a .service file with an empty BusName in the [Service] part of
the .service.
Since enabling only one interface generated the proper file, I deduced both could not be enabled together. Maybe something else in my configuration
impacted that, I will check that again if you can't reproduce.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180228/fb2c328f/attachment.asc>

#3 lore raw

PATCH 1/1 wpa_supplicant - Specify that old and new dbus are incompatible

Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Pierre" == Pierre <[email protected]> writes:

Quoted 11 lines · CET Peter Korsgaard
Quoted 3 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Pierre" == Pierre Ducroquet <[email protected]> writes:

Building wpa-supplicant with support for both DBus interfaces generates broken .service files.

In what way are they broken? I did a quick test build of 3 configurations:

- Only old
- Only new
- Old and new

Quoted 7 lines
Quoted 1 line

and I don't see any difference in the .service files?

It generated a .service file with an empty BusName in the [Service] part of the .service.
Since enabling only one interface generated the proper file, I deduced both could not be enabled together. Maybe something else in my configuration impacted that, I will check that again if you can't reproduce.

Wait, are we talking about dbus service files (that afaik don't take a BusName directive) or systemd files?

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/1 wpa_supplicant - Specify that old and new dbus are incompatible

Hello,

Quoted 8 lines · Peter Korsgaard
Quoted 5 lines

It generated a .service file with an empty BusName in the [Service] part of the .service.
Since enabling only one interface generated the proper file, I deduced both could not be enabled together. Maybe something else in my configuration impacted that, I will check that again if you can't reproduce.

Wait, are we talking about dbus service files (that afaik don't take a BusName directive) or systemd files?

I just did a build, with the following defconfig:

BR2_arm=y
BR2_cortex_a8=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y
BR2_INIT_SYSTEMD=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD=y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW=y
# BR2_TARGET_ROOTFS_TAR is not set

So, it has systemd enabled and both the old and new dbus interfaces in wpa-supplicant. And the BusName is definitely not empty:

$ cat lib/systemd/system/wpa_supplicant.service 
[Unit]
Description=WPA supplicant
Before=network.target
Wants=network.target

[Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
ExecStart=/usr/sbin/wpa_supplicant -u

[Install]
WantedBy=multi-user.target
Alias=dbus-fi.w1.wpa_supplicant1.service

Since we haven't heard from the original submitter since February, I'll mark this patch as Rejected in patchwork.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com