| ################################################################################ |
| # |
| # openrc |
| # |
| ################################################################################ |
| |
| OPENRC_VERSION = 0.52.1 |
| OPENRC_SITE = $(call github,OpenRC,openrc,$(OPENRC_VERSION)) |
| OPENRC_LICENSE = BSD-2-Clause |
| OPENRC_LICENSE_FILES = LICENSE |
| OPENRC_CPE_ID_VALID = YES |
| |
| OPENRC_DEPENDENCIES = ncurses |
| |
| OPENRC_CONF_OPTS = \ |
| -Dos=Linux \ |
| -Dlibrcdir=/usr/libexec/rc \ |
| -Dpkgconfig=false \ |
| -Dsysvinit=true \ |
| -Drootprefix=/ \ |
| -Dbranding="\"Buildroot $(BR2_VERSION_FULL)\"" |
| |
| ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) |
| OPENRC_CONF_OPTS += -Dbash-completions=true |
| else |
| OPENRC_CONF_OPTS += -Dbash-completions=false |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBSELINUX),y) |
| OPENRC_CONF_OPTS += -Dselinux=enabled |
| OPENRC_DEPENDENCIES += libselinux |
| else |
| OPENRC_CONF_OPTS += -Dselinux=disabled |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBXCRYPT),y) |
| OPENRC_DEPENDENCIES += libxcrypt |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LINUX_PAM),y) |
| OPENRC_CONF_OPTS += -Dpam=true |
| OPENRC_DEPENDENCIES += linux-pam |
| else |
| OPENRC_CONF_OPTS += -Dpam=false |
| endif |
| |
| ifeq ($(BR2_ROOTFS_MERGED_USR),y) |
| OPENRC_CONF_OPTS += -Dsplit-usr=false |
| else |
| OPENRC_CONF_OPTS += -Dsplit-usr=true |
| endif |
| |
| define OPENRC_INSTALL_SYSV_RCS_SCRIPT |
| $(INSTALL) -D -m 0755 $(OPENRC_PKGDIR)/sysv-rcs \ |
| $(TARGET_DIR)/etc/init.d/sysv-rcs |
| endef |
| OPENRC_POST_INSTALL_TARGET_HOOKS += OPENRC_INSTALL_SYSV_RCS_SCRIPT |
| |
| ifeq ($(BR2_PACKAGE_KBD),) |
| # keymaps and save-keymaps require kbd_mode and dumpkeys, respectively, so |
| # remove them if the kbd package is not selected (e.g. devices with serial |
| # console, only). |
| define OPENRC_NO_KBD |
| $(RM) $(TARGET_DIR)/etc/runlevels/boot/{keymaps,save-keymaps} |
| $(RM) $(TARGET_DIR)/etc/init.d/{keymaps,save-keymaps} |
| $(RM) $(TARGET_DIR)/etc/conf.d/keymaps |
| endef |
| OPENRC_POST_INSTALL_TARGET_HOOKS += OPENRC_NO_KBD |
| endif |
| |
| ifeq ($(BR2_PACKAGE_NETIFRC),y) |
| # netifrc replaces network, staticroute and loopback services which are |
| # installed by openrc |
| define OPENRC_NO_NET |
| $(RM) $(TARGET_DIR)/etc/runlevels/boot/{network,staticroute,loopback} |
| $(RM) $(TARGET_DIR)/etc/init.d/{network,staticroute,loopback} |
| $(RM) $(TARGET_DIR)/etc/conf.d/{network,staticroute,loopback} |
| endef |
| OPENRC_POST_INSTALL_TARGET_HOOKS += OPENRC_NO_NET |
| endif |
| |
| define OPENRC_REMOVE_UNNEEDED |
| $(RM) -r $(TARGET_DIR)/usr/share/openrc |
| endef |
| OPENRC_TARGET_FINALIZE_HOOKS += OPENRC_REMOVE_UNNEEDED |
| |
| ifeq ($(BR2_TARGET_GENERIC_GETTY),y) |
| OPENRC_GETTY_SVCNAME = agetty.$(SYSTEM_GETTY_PORT) |
| OPENRC_GETTY_CONF_D = $(TARGET_DIR)/etc/conf.d/$(OPENRC_GETTY_SVCNAME) |
| define OPENRC_SET_GETTY |
| { \ |
| echo "baud=\"$(SYSTEM_GETTY_BAUDRATE)\""; \ |
| echo "term_type=\"$(SYSTEM_GETTY_TERM)\"" ; \ |
| echo "agetty_options=\"-L $(SYSTEM_GETTY_OPTIONS)\""; \ |
| } > $(OPENRC_GETTY_CONF_D) |
| ln -sf agetty $(TARGET_DIR)/etc/init.d/$(OPENRC_GETTY_SVCNAME) |
| ln -sf /etc/init.d/$(OPENRC_GETTY_SVCNAME) \ |
| $(TARGET_DIR)/etc/runlevels/default/$(OPENRC_GETTY_SVCNAME) |
| endef |
| OPENRC_TARGET_FINALIZE_HOOKS += OPENRC_SET_GETTY |
| endif # BR2_TARGET_GENERIC_GETTY |
| |
| $(eval $(meson-package)) |