diff --git a/make/conf.mk b/make/conf.mk index 76b1efce..74df8e86 100644 --- a/make/conf.mk +++ b/make/conf.mk @@ -3,7 +3,8 @@ include $(MODDIR)/make/rules.mk all: clean: clean.conf -install: install_CFG install_SYSCFG install_LOGROT install_CRONTAB install_RSYSLOG install_APACHE_CONF install_SITE $(CONF_D) +install: install_CFG install_SYSCFG install_LOGROT install_CRONTAB install_RSYSLOG \ + install_APACHE_CONF install_SITE install_SYSTEMD $(CONF_D) clean.conf: rm -rf *.h *~ .*.swp *.done diff --git a/make/defs-dev.mk b/make/defs-dev.mk index 4c30eb0a..c940dd71 100644 --- a/make/defs-dev.mk +++ b/make/defs-dev.mk @@ -11,7 +11,8 @@ VAR_PREFIX ?= $(PREFIX)/var DOC_PREFIX ?= $(PREFIX)/doc/$(PROJECT) EXE_PREFIX ?= $(PREFIX) INIT_PREFIX ?= $(EXE_PREFIX) -HTDOCS_PREFIX ?= $(ENV_PREFIX)$(HOME)/srv/www +HTDOCS_PREFIX ?= $(PREFIX)/srv/www +SYSTEMD_DIR ?= $(PREFIX)/usr/lib/systemd/system SYSCFG_DIR ?= $(PREFIX)/sysconfig CONFIG_DIR ?= $(ENV_PREFIX)$(HOME)/etc/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME) LD_CONF_DIR ?= $(ENV_PREFIX)$(HOME)/etc/ld.so.conf.d @@ -102,6 +103,12 @@ HTMLMODE ?= 644 HTMLDIROWNER ?= $(shell id -un) HTMLDIRGROUP ?= $(shell id -gn) HTMLDIRMODE ?= 755 +SYSTEMDOWNER ?= $(shell id -un) +SYSTEMDGROUP ?= $(shell id -gn) +SYSTEMDMODE ?= 644 +SYSTEMDDIROWNER ?= $(shell id -un) +SYSTEMDDIRGROUP ?= $(shell id -gn) +SYSTEMDDIRMODE ?= 755 LIBOWNER ?= $(EXEOWNER) LIBGROUP ?= $(EXEGROUP) LIBMODE ?= $(EXEMODE) diff --git a/make/defs-dist.mk b/make/defs-dist.mk index 28ee8bd9..d13f0d6c 100644 --- a/make/defs-dist.mk +++ b/make/defs-dist.mk @@ -12,6 +12,7 @@ DOC_PREFIX ?= $(ENV_PREFIX)/usr/share/doc/packages/$(FLAVOUR_PREFIX)$(PROJ EXE_PREFIX ?= $(PREFIX) INIT_PREFIX ?= $(ENV_PREFIX)/etc$(FLAVOUR_PATH_SUFFIX) HTDOCS_PREFIX ?= $(ENV_PREFIX)/srv/www +SYSTEMD_DIR ?= $(ENV_PREFIX)/usr/lib/systemd/system SYSCFG_DIR ?= $(ENV_PREFIX)/etc/$(FLAVOUR_PATH_PREFIX)sysconfig CONFIG_DIR ?= $(ENV_PREFIX)/etc/opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME) LD_CONF_DIR ?= $(ENV_PREFIX)/etc/ld.so.conf.d @@ -38,7 +39,6 @@ HTML_PROJECT ?= $(PROJECT) PROJECT_HTML_BASE_DIR ?= $(HTDOCS_PREFIX)/proj PROJECT_HTMLDIR ?= $(PROJECT_HTML_BASE_DIR)/$(HTML_PROJECT) PROJECT_HTML_THEMES_DIR ?= $(PROJECT_HTML_BASE_DIR)/themes -PROJECT_HTMLDIR ?= $(PROJECT_HTML_BASE_DIR)/$(PROJECT) SITE_MODULES_DIR ?= $(HTDOCS_PREFIX)/proj/site/modules.d CGI_DIR ?= $(HTDOCS_PREFIX)/cgi-bin @@ -104,6 +104,12 @@ HTMLMODE ?= 644 HTMLDIROWNER ?= root HTMLDIRGROUP ?= root HTMLDIRMODE ?= 755 +SYSTEMDOWNER ?= root +SYSTEMDGROUP ?= root +SYSTEMDMODE ?= 644 +SYSTEMDDIROWNER ?= root +SYSTEMDDIRGROUP ?= root +SYSTEMDDIRMODE ?= 755 LIBOWNER ?= $(EXEOWNER) LIBGROUP ?= $(EXEGROUP) LIBMODE ?= $(EXEMODE) diff --git a/make/defs.mk b/make/defs.mk index 0419e093..f4d791b4 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -413,6 +413,13 @@ INSTALL_HTMLDIR = $(PROJECT_HTMLDIR)/$(HTML_SUBDIR) endif INSTALLED_HTML += $(addprefix $(INSTALL_HTMLDIR)/,$(LOCAL_HTML)) +# -- SYSTEMD +INSTALLATION_FILE_TYPES += SYSTEMD +BUILD_SYSTEMDDIR = $(TOPDIR)/bin/systemd +LOCAL_SYSTEMD += $(filter-out $(DONT_INSTALL),$(wildcard *.service)) +INSTALL_SYSTEMDDIR = $(SYSTEMD_DIR) +INSTALLED_SYSTEMD += $(addprefix $(INSTALL_SYSTEMDDIR)/,$(LOCAL_SYSTEMD)) + # -- INIT INSTALLATION_FILE_TYPES += INIT BUILD_INITDIR = $(TOPDIR)/bin diff --git a/make/rules.mk b/make/rules.mk index 7857dda8..6f38ab17 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -303,6 +303,9 @@ endef $(INSTALL_INITDIR)/%: %.init | install_dir_INIT $(INSTALL) -o $(INITOWNER) -g $(INITGROUP) -m $(INITMODE) $< $@ +$(INSTALL_SYSTEMDDIR)/%.service: %.service | install_dir_SYSTEMD + $(INSTALL) -o $(SYSTEMDOWNER) -g $(SYSTEMDGROUP) -m $(SYSTEMDMODE) $< $@ + $(INSTALL_LOGROTDIR)/%: %.logrotate | install_dir_LOGROT $(INSTALL) -o $(LOGROTOWNER) -g $(LOGROTGROUP) -m $(LOGROTMODE) $< $@