48c73e0c5f
Currently, we always suppose that localhost settings will always come before the (optional) DHCP ones. This is always true when using sysvinit/busybox or systemd. However, with openrc, this will no longer be the case: only the DHCP settings will be present (OpenRC handles lo on his own). So, prepare the macros to be independent one from the other, and for symetry, in both: - use append-redirection >> to populate the interfaces file, - prepend a leading empty line at the beginning of each section. The origianl singe '>' redirection would ensure the file would not grow on a reinstall, but that's no longer the case, so reset the file prior to filling it, using the canned preamble. Signed-off-by: Carlos Santos <unixmania@gmail.com> [yann.morin.1998@free.fr: split off to its own patch] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
61 lines
1.8 KiB
Makefile
61 lines
1.8 KiB
Makefile
################################################################################
|
|
#
|
|
# ifupdown-scripts
|
|
#
|
|
################################################################################
|
|
|
|
define IFUPDOWN_SCRIPTS_PREAMBLE
|
|
echo "# interface file auto-generated by buildroot" \
|
|
> $(TARGET_DIR)/etc/network/interfaces
|
|
endef
|
|
|
|
define IFUPDOWN_SCRIPTS_LOCALHOST
|
|
( \
|
|
echo ; \
|
|
echo "auto lo"; \
|
|
echo "iface lo inet loopback"; \
|
|
) >> $(TARGET_DIR)/etc/network/interfaces
|
|
endef
|
|
|
|
IFUPDOWN_SCRIPTS_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
|
|
|
|
ifneq ($(IFUPDOWN_SCRIPTS_DHCP_IFACE),)
|
|
define IFUPDOWN_SCRIPTS_DHCP
|
|
( \
|
|
echo ; \
|
|
echo "auto $(IFUPDOWN_SCRIPTS_DHCP_IFACE)"; \
|
|
echo "iface $(IFUPDOWN_SCRIPTS_DHCP_IFACE) inet dhcp"; \
|
|
echo " pre-up /etc/network/nfs_check"; \
|
|
echo " wait-delay 15"; \
|
|
echo " hostname \$$(hostname)"; \
|
|
) >> $(TARGET_DIR)/etc/network/interfaces
|
|
endef
|
|
endif
|
|
|
|
define IFUPDOWN_SCRIPTS_INSTALL_TARGET_CMDS
|
|
$(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \
|
|
$(TARGET_DIR)/etc/network/nfs_check
|
|
$(call SYSTEM_RSYNC,$(IFUPDOWN_SCRIPTS_PKGDIR)/network,$(TARGET_DIR)/etc/network)
|
|
endef
|
|
|
|
define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSV
|
|
$(INSTALL) -D -m 0755 $(IFUPDOWN_SCRIPTS_PKGDIR)/S40network \
|
|
$(TARGET_DIR)/etc/init.d/S40network
|
|
$(IFUPDOWN_SCRIPTS_PREAMBLE)
|
|
$(IFUPDOWN_SCRIPTS_LOCALHOST)
|
|
$(IFUPDOWN_SCRIPTS_DHCP)
|
|
endef
|
|
|
|
# ifupdown-scripts can not be selected when systemd-networkd is
|
|
# enabled, so if we are enabled with systemd, we must install our
|
|
# own service file.
|
|
define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSTEMD
|
|
$(INSTALL) -D -m 644 $(IFUPDOWN_SCRIPTS_PKGDIR)/network.service \
|
|
$(TARGET_DIR)/etc/systemd/system/network.service
|
|
$(IFUPDOWN_SCRIPTS_PREAMBLE)
|
|
$(IFUPDOWN_SCRIPTS_LOCALHOST)
|
|
$(IFUPDOWN_SCRIPTS_DHCP)
|
|
endef
|
|
|
|
$(eval $(generic-package))
|