Skip to contentSkip to conversation

wpa_supplicant: install systemd service files

PATCH Superseded Mike Williams 2 participants 4 messages Mar 3, 2015 – Mar 9, 2015

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 wpa_supplicant: install systemd service files

---
 package/wpa_supplicant/wpa_supplicant.mk | 11 +++++++++++
 1 file changed, 11 insertions(+)
package/wpa_supplicant/wpa_supplicant.mk +11 -0
index 682cb4c..185c646 100644
@@ -164,4 +164,15 @@ define WPA_SUPPLICANT_INSTALL_TARGET_CMDS
 	$(WPA_SUPPLICANT_INSTALL_DBUS)
 endef
 
+define WPA_SUPPLICANT_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant.service \
+		$(TARGET_DIR)/lib/systemd/system
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant at .service \
+		$(TARGET_DIR)/lib/systemd/system
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant-nl80211 at .service \
+		$(TARGET_DIR)/lib/systemd/system
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant-wired at .service \
+		$(TARGET_DIR)/lib/systemd/system
+endef
+
 $(eval $(generic-package))
Signature · 1 line
2.1.0
#1 lore raw

PATCH 1/1 wpa_supplicant: install systemd service files

Dear Mike Williams,

package/wpa_supplicant/wpa_supplicant.mk define WPA_SUPPLICANT_INSTALL_TARGET_CMDS · line 169

Quoted 3 lines · Mike Williams
package/wpa_supplicant/wpa_supplicant.mk +3 -0
+define WPA_SUPPLICANT_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant.service \
+		$(TARGET_DIR)/lib/systemd/system

When using -D, the destination should be a full path, otherwise your file will be named $(TARGET_DIR)/lib/systemd/system if $(TARGET_DIR)/lib/systemd/system isn't an existing directory.

package/wpa_supplicant/wpa_supplicant.mk define WPA_SUPPLICANT_INSTALL_TARGET_CMDS · line 175

Quoted 6 lines
package/wpa_supplicant/wpa_supplicant.mk +6 -0
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant at .service \
+		$(TARGET_DIR)/lib/systemd/system
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant-nl80211 at .service \
+		$(TARGET_DIR)/lib/systemd/system
+	$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant-wired at .service \
+		$(TARGET_DIR)/lib/systemd/system

Also, and sorry for being so ignorant about systemd, but most of our other packages set up a bunch of symbolic links when install systemd unit files. I'm surprised to not see the same thing here. Can you give some details about this?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 wpa_supplicant: install systemd service files

Thomas,

Quoted 11 lines · Thomas Petazzoni

Dear Mike Williams,

package/wpa_supplicant/wpa_supplicant.mk define WPA_SUPPLICANT_INSTALL_TARGET_CMDS · line 169

Quoted 3 lines · Mike Williams
package/wpa_supplicant/wpa_supplicant.mk +3 -0
+define WPA_SUPPLICANT_INSTALL_INIT_SYSTEMD
+     $(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant.service \
+             $(TARGET_DIR)/lib/systemd/system

When using -D, the destination should be a full path, otherwise your file will be named $(TARGET_DIR)/lib/systemd/system if $(TARGET_DIR)/lib/systemd/system isn't an existing directory.

Fixed in v2.

Quoted 8 lines

package/wpa_supplicant/wpa_supplicant.mk define WPA_SUPPLICANT_INSTALL_TARGET_CMDS · line 175

Quoted 7 lines
package/wpa_supplicant/wpa_supplicant.mk +6 -0
+     $(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant at .service \
+             $(TARGET_DIR)/lib/systemd/system
+     $(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant-nl80211 at .service \
+             $(TARGET_DIR)/lib/systemd/system
+     $(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant-wired at .service \
+             $(TARGET_DIR)/lib/systemd/system
Quoted 4 lines

Also, and sorry for being so ignorant about systemd, but most of our other packages set up a bunch of symbolic links when install systemd unit files. I'm surprised to not see the same thing here. Can you give some details about this?

Those symlinks enable starting those services during boot. These services shouldn't be enabled by default, so no symlinks are generated.

As an aside, I commented on Gustavo's discussion of our packages enabling startup by default in this thread:
http://lists.busybox.net/pipermail/buildroot/2015-March/121448.html

Quoted 8 lines

Thanks,

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

#3 lore raw

PATCH 1/1 wpa_supplicant: install systemd service files

Dear Mike Williams,

Quoted 8 lines · Mike Williams
Quoted 4 lines

Also, and sorry for being so ignorant about systemd, but most of our other packages set up a bunch of symbolic links when install systemd unit files. I'm surprised to not see the same thing here. Can you give some details about this?

Those symlinks enable starting those services during boot. These services shouldn't be enabled by default, so no symlinks are generated.

Ok, but right now our policy is that services select in the Buildroot configuration should be enabled at startup by default.

I know this is not the proposal you made in
http://lists.busybox.net/pipermail/buildroot/2015-March/121448.html,
but the proposal you made on this specific topic is going completely in the opposite direction of what Buildroot is doing right now.

The reason for the current policy is that we want a simple "out of the box" experience: you enable lighttpd or minidlna, you build, you boot the system, and those services start by default, with a sane minimal configuration. It's kind of the principle of "least surprise" I would say.

Then if you want some services to have a more complex configuration, or to not start at boot time, it's up to you to do what's needed in your post-build script or rootfs overlay.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com