sysvinit.mk 1.7 KB

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