1################################################################################
2#
3# sysvinit
4#
5################################################################################
6
7SYSVINIT_VERSION = 3.04
8SYSVINIT_SOURCE = sysvinit-$(SYSVINIT_VERSION).tar.xz
9SYSVINIT_SITE = http://download.savannah.nongnu.org/releases/sysvinit
10SYSVINIT_LICENSE = GPL-2.0+
11SYSVINIT_LICENSE_FILES = COPYING
12SYSVINIT_CPE_ID_VALID = YES
13
14SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR)
15
16ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
17SYSVINIT_DEPENDENCIES += libselinux
18SYSVINIT_MAKE_OPTS += WITH_SELINUX="yes"
19endif
20
21ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
22SYSVINIT_DEPENDENCIES += libxcrypt
23endif
24
25define SYSVINIT_BUILD_CMDS
26	$(TARGET_CONFIGURE_OPTS) $(MAKE) $(SYSVINIT_MAKE_OPTS) -C $(@D)/src
27endef
28
29define SYSVINIT_INSTALL_TARGET_CMDS
30	for x in halt init shutdown killall5; do \
31		$(INSTALL) -D -m 0755 $(@D)/src/$$x $(TARGET_DIR)/sbin/$$x || exit 1; \
32	done
33	$(INSTALL) -D -m 0644 package/sysvinit/inittab $(TARGET_DIR)/etc/inittab
34	ln -sf /sbin/halt $(TARGET_DIR)/sbin/reboot
35	ln -sf /sbin/halt $(TARGET_DIR)/sbin/poweroff
36	ln -sf killall5 $(TARGET_DIR)/sbin/pidof
37endef
38
39ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
40define SYSVINIT_SET_GETTY
41	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(SYSTEM_GETTY_PORT) | tail -c+4)::respawn:/sbin/getty -L $(SYSTEM_GETTY_OPTIONS) $(SYSTEM_GETTY_PORT) $(SYSTEM_GETTY_BAUDRATE) $(SYSTEM_GETTY_TERM) #~' \
42		$(TARGET_DIR)/etc/inittab
43endef
44else
45define SYSVINIT_SET_GETTY
46	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~# S0:1:respawn:/sbin/getty -L ttyS0 115200 vt100 #~' \
47		$(TARGET_DIR)/etc/inittab
48endef
49endif # BR2_TARGET_GENERIC_GETTY
50SYSVINIT_TARGET_FINALIZE_HOOKS += SYSVINIT_SET_GETTY
51
52SYSVINIT_TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_ROOT_INITTAB
53
54$(eval $(generic-package))
55