1################################################################################ 2# 3# openrc 4# 5################################################################################ 6 7OPENRC_VERSION = 0.43.3 8OPENRC_SITE = $(call github,OpenRC,openrc,$(OPENRC_VERSION)) 9OPENRC_LICENSE = BSD-2-Clause 10OPENRC_LICENSE_FILES = LICENSE 11OPENRC_CPE_ID_VENDOR = openrc_project 12 13OPENRC_DEPENDENCIES = ncurses 14 15# set LIBNAME so openrc puts files in proper directories and sets proper 16# paths in installed files. Since in buildroot /lib64 and /lib32 always 17# points to /lib, it's safe to hardcode it to "lib" 18OPENRC_MAKE_OPTS = \ 19 LIBNAME=lib \ 20 LIBEXECDIR=/usr/libexec/rc \ 21 MKPKGCONFIG=no \ 22 MKSYSVINIT=yes \ 23 BRANDING="Buildroot $(BR2_VERSION_FULL)" \ 24 CC=$(TARGET_CC) 25 26ifeq ($(BR2_SHARED_LIBS),y) 27OPENRC_MAKE_OPTS += MKSTATICLIBS=no 28else 29OPENRC_MAKE_OPTS += MKSTATICLIBS=yes 30endif 31 32ifeq ($(BR2_PACKAGE_LIBSELINUX),y) 33OPENRC_MAKE_OPTS += MKSELINUX=yes 34OPENRC_DEPENDENCIES += libselinux 35else 36OPENRC_MAKE_OPTS += MKSELINUX=no 37endif 38 39define OPENRC_BUILD_CMDS 40 $(MAKE) $(OPENRC_MAKE_OPTS) -C $(@D) 41endef 42 43define OPENRC_INSTALL_TARGET_CMDS 44 $(MAKE) $(OPENRC_MAKE_OPTS) DESTDIR=$(TARGET_DIR) -C $(@D) install 45 $(INSTALL) -D -m 0755 $(OPENRC_PKGDIR)/sysv-rcs \ 46 $(TARGET_DIR)/etc/init.d/sysv-rcs 47endef 48 49ifeq ($(BR2_PACKAGE_KBD),) 50# keymaps and save-keymaps require kbd_mode and dumpkeys, respectively, so 51# remove them if the kbd package is not selected (e.g. devices with serial 52# console, only). 53define OPENRC_NO_KBD 54 $(RM) $(TARGET_DIR)/etc/runlevels/boot/{keymaps,save-keymaps} 55 $(RM) $(TARGET_DIR)/etc/init.d/{keymaps,save-keymaps} 56 $(RM) $(TARGET_DIR)/etc/conf.d/keymaps 57endef 58OPENRC_POST_INSTALL_TARGET_HOOKS += OPENRC_NO_KBD 59endif 60 61ifeq ($(BR2_PACKAGE_NETIFRC),y) 62# netifrc replaces network, staticroute and loopback services which are 63# installed by openrc 64define OPENRC_NO_NET 65 $(RM) $(TARGET_DIR)/etc/runlevels/boot/{network,staticroute,loopback} 66 $(RM) $(TARGET_DIR)/etc/init.d/{network,staticroute,loopback} 67 $(RM) $(TARGET_DIR)/etc/conf.d/{network,staticroute,loopback} 68endef 69OPENRC_POST_INSTALL_TARGET_HOOKS += OPENRC_NO_NET 70endif 71 72define OPENRC_REMOVE_UNNEEDED 73 $(RM) -r $(TARGET_DIR)/usr/share/openrc 74endef 75OPENRC_TARGET_FINALIZE_HOOKS += OPENRC_REMOVE_UNNEEDED 76 77ifeq ($(BR2_TARGET_GENERIC_GETTY),y) 78OPENRC_GETTY_SVCNAME = agetty.$(SYSTEM_GETTY_PORT) 79OPENRC_GETTY_CONF_D = $(TARGET_DIR)/etc/conf.d/$(OPENRC_GETTY_SVCNAME) 80define OPENRC_SET_GETTY 81 { \ 82 echo "baud=\"$(SYSTEM_GETTY_BAUDRATE)\""; \ 83 echo "term_type=\"$(SYSTEM_GETTY_TERM)\"" ; \ 84 echo "agetty_options=\"-L $(SYSTEM_GETTY_OPTIONS)\""; \ 85 } > $(OPENRC_GETTY_CONF_D) 86 ln -sf agetty $(TARGET_DIR)/etc/init.d/$(OPENRC_GETTY_SVCNAME) 87 ln -sf /etc/init.d/$(OPENRC_GETTY_SVCNAME) \ 88 $(TARGET_DIR)/etc/runlevels/default/$(OPENRC_GETTY_SVCNAME) 89endef 90OPENRC_TARGET_FINALIZE_HOOKS += OPENRC_SET_GETTY 91endif # BR2_TARGET_GENERIC_GETTY 92 93$(eval $(generic-package)) 94