xref: /OK3568_Linux_fs/buildroot/package/ifupdown-scripts/ifupdown-scripts.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# ifupdown-scripts
4#
5################################################################################
6
7define IFUPDOWN_SCRIPTS_PREAMBLE
8	echo "# interface file auto-generated by buildroot" \
9		> $(TARGET_DIR)/etc/network/interfaces
10endef
11
12define IFUPDOWN_SCRIPTS_LOCALHOST
13	( \
14		echo ; \
15		echo "auto lo"; \
16		echo "iface lo inet loopback"; \
17	) >> $(TARGET_DIR)/etc/network/interfaces
18endef
19
20IFUPDOWN_SCRIPTS_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
21
22ifneq ($(IFUPDOWN_SCRIPTS_DHCP_IFACE),)
23define IFUPDOWN_SCRIPTS_DHCP
24	( \
25		echo ; \
26		echo "auto $(IFUPDOWN_SCRIPTS_DHCP_IFACE)"; \
27		echo "iface $(IFUPDOWN_SCRIPTS_DHCP_IFACE) inet dhcp"; \
28		echo "  pre-up /etc/network/nfs_check"; \
29		echo "  wait-delay 15"; \
30		echo "  hostname \$$(hostname)"; \
31	) >> $(TARGET_DIR)/etc/network/interfaces
32endef
33define IFUPDOWN_SCRIPTS_DHCP_OPENRC
34	echo "ifup $(IFUPDOWN_SCRIPTS_DHCP_IFACE)" \
35		> $(TARGET_DIR)/etc/ifup.$(IFUPDOWN_SCRIPTS_DHCP_IFACE)
36	echo "ifdown $(IFUPDOWN_SCRIPTS_DHCP_IFACE)" \
37		> $(TARGET_DIR)/etc/ifdown.$(IFUPDOWN_SCRIPTS_DHCP_IFACE)
38endef
39endif
40
41define IFUPDOWN_SCRIPTS_INSTALL_TARGET_CMDS
42	$(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \
43		$(TARGET_DIR)/etc/network/nfs_check
44	$(call SYSTEM_RSYNC,$(IFUPDOWN_SCRIPTS_PKGDIR)/network,$(TARGET_DIR)/etc/network)
45endef
46
47define IFUPDOWN_SCRIPTS_INSTALL_INIT_OPENRC
48	$(IFUPDOWN_SCRIPTS_PREAMBLE)
49	$(IFUPDOWN_SCRIPTS_DHCP)
50	$(IFUPDOWN_SCRIPTS_DHCP_OPENRC)
51endef
52
53define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSV
54	$(INSTALL) -D -m 0755 $(IFUPDOWN_SCRIPTS_PKGDIR)/S40network \
55		$(TARGET_DIR)/etc/init.d/S40network
56	$(IFUPDOWN_SCRIPTS_PREAMBLE)
57	$(IFUPDOWN_SCRIPTS_LOCALHOST)
58	$(IFUPDOWN_SCRIPTS_DHCP)
59endef
60
61# ifupdown-scripts can not be selected when systemd-networkd is
62# enabled, so if we are enabled with systemd, we must install our
63# own service file.
64define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSTEMD
65	$(INSTALL) -D -m 644 $(IFUPDOWN_SCRIPTS_PKGDIR)/network.service \
66		$(TARGET_DIR)/etc/systemd/system/network.service
67	$(IFUPDOWN_SCRIPTS_PREAMBLE)
68	$(IFUPDOWN_SCRIPTS_LOCALHOST)
69	$(IFUPDOWN_SCRIPTS_DHCP)
70endef
71
72$(eval $(generic-package))
73