make: Add definitions and rules for *.tmpfiles

Add support for *.tmpfiles. xxx.tmpfiles gets installed by conf.mk as
/usr/lib/tmpfiles.d/xxx.conf.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-09-14 13:29:04 +00:00
commit 336d1a5133
5 changed files with 27 additions and 4 deletions

View file

@ -5,7 +5,7 @@ include $(JWBDIR)/make/dev-utils.mk
all: all:
clean: clean.conf clean: clean.conf
install: install_CFG install_files_SYSCFG install_files_LOGROT install_files_CRONTAB install_files_RSYSLOG \ install: install_CFG install_files_SYSCFG install_files_LOGROT install_files_CRONTAB install_files_RSYSLOG \
install_files_APACHE_CONF install_files_SYSTEMD install_files_INIT $(CONF_D) install_files_APACHE_CONF install_files_SYSTEMD install_files_INIT install_TMPFILES $(CONF_D)
test: test:
clean.conf: clean.conf:

View file

@ -21,6 +21,7 @@ SYSCFG_DIR ?= $(PREFIX)/sysconfig
CONFIG_DIR ?= $(ENV_PREFIX)$(HOME)/etc/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME) CONFIG_DIR ?= $(ENV_PREFIX)$(HOME)/etc/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME)
LD_CONF_DIR ?= $(ENV_PREFIX)$(HOME)/etc/ld.so.conf.d LD_CONF_DIR ?= $(ENV_PREFIX)$(HOME)/etc/ld.so.conf.d
LOGROT_DIR ?= $(ENV_PREFIX)$(HOME)/etc/logrotate.d LOGROT_DIR ?= $(ENV_PREFIX)$(HOME)/etc/logrotate.d
TMPFILES_DIR ?= $(PREFIX)/usr/lib/tmpfiles.d
APACHE_CONF_DIR ?= $(ENV_PREFIX)$(HOME)/etc/apache/conf.d APACHE_CONF_DIR ?= $(ENV_PREFIX)$(HOME)/etc/apache/conf.d
APACHE_VHOSTS_DIR ?= $(ENV_PREFIX)$(HOME)/etc/apache/vhosts.d APACHE_VHOSTS_DIR ?= $(ENV_PREFIX)$(HOME)/etc/apache/vhosts.d
APACHE_SNIPPETS_DIR ?= $(ENV_PREFIX)$(HOME)/etc/apache/snippets.d APACHE_SNIPPETS_DIR ?= $(ENV_PREFIX)$(HOME)/etc/apache/snippets.d
@ -233,6 +234,12 @@ RSYSLOGMODE ?= $(CFGMODE)
RSYSLOGDIROWNER ?= $(CFGDIROWNER) RSYSLOGDIROWNER ?= $(CFGDIROWNER)
RSYSLOGDIRGROUP ?= $(CFGDIROWNER) RSYSLOGDIRGROUP ?= $(CFGDIROWNER)
RSYSLOGDIRMODE ?= $(CFGDIRMODE) RSYSLOGDIRMODE ?= $(CFGDIRMODE)
TMPFILESOWNER ?= $(CFGOWNER)
TMPFILESGROUP ?= $(CFGGROUP)
TMPFILESMODE ?= $(CFGMODE)
TMPFILESDIROWNER ?= $(CFGDIROWNER)
TMPFILESDIRGROUP ?= $(CFGDIROWNER)
TMPFILESDIRMODE ?= $(CFGDIRMODE)
CRONTABOWNER ?= $(CFGOWNER) CRONTABOWNER ?= $(CFGOWNER)
CRONTABGROUP ?= $(CFGGROUP) CRONTABGROUP ?= $(CFGGROUP)
CRONTABMODE ?= 600 CRONTABMODE ?= 600

View file

@ -21,6 +21,7 @@ SYSCFG_DIR ?= $(ENV_PREFIX)/etc/$(FLAVOUR_PATH_PREFIX)sysconfig
CONFIG_DIR ?= $(ENV_PREFIX)/etc/opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME) CONFIG_DIR ?= $(ENV_PREFIX)/etc/opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME)
LD_CONF_DIR ?= $(ENV_PREFIX)/etc/ld.so.conf.d LD_CONF_DIR ?= $(ENV_PREFIX)/etc/ld.so.conf.d
LOGROT_DIR ?= $(ENV_PREFIX)/etc/logrotate.d LOGROT_DIR ?= $(ENV_PREFIX)/etc/logrotate.d
TMPFILES_DIR ?= $(ENV_PREFIX)/usr/lib/tmpfiles.d
APACHE_CONF_DIR ?= $(ENV_PREFIX)/etc/jw-apache/conf.d APACHE_CONF_DIR ?= $(ENV_PREFIX)/etc/jw-apache/conf.d
APACHE_VHOSTS_DIR ?= $(ENV_PREFIX)/etc/jw-apache/vhosts.d APACHE_VHOSTS_DIR ?= $(ENV_PREFIX)/etc/jw-apache/vhosts.d
APACHE_SNIPPETS_DIR ?= $(ENV_PREFIX)/etc/jw-apache/snippets.d APACHE_SNIPPETS_DIR ?= $(ENV_PREFIX)/etc/jw-apache/snippets.d
@ -234,6 +235,12 @@ RSYSLOGMODE ?= $(CFGMODE)
RSYSLOGDIROWNER ?= $(CFGDIROWNER) RSYSLOGDIROWNER ?= $(CFGDIROWNER)
RSYSLOGDIRGROUP ?= $(CFGDIROWNER) RSYSLOGDIRGROUP ?= $(CFGDIROWNER)
RSYSLOGDIRMODE ?= $(CFGDIRMODE) RSYSLOGDIRMODE ?= $(CFGDIRMODE)
TMPFILESOWNER ?= $(CFGOWNER)
TMPFILESGROUP ?= $(CFGGROUP)
TMPFILESMODE ?= $(CFGMODE)
TMPFILESDIROWNER ?= $(CFGDIROWNER)
TMPFILESDIRGROUP ?= $(CFGDIROWNER)
TMPFILESDIRMODE ?= $(CFGDIRMODE)
CRONTABOWNER ?= $(CFGOWNER) CRONTABOWNER ?= $(CFGOWNER)
CRONTABGROUP ?= $(CFGGROUP) CRONTABGROUP ?= $(CFGGROUP)
CRONTABMODE ?= 600 CRONTABMODE ?= 600

View file

@ -296,11 +296,8 @@ LOG_QUAL_PREFIX ?= $(LOGID):
# -- standard dirs and files for build and install # -- standard dirs and files for build and install
# -- CFG # -- CFG
SYSCFG_DIR ?= /etc/sysconfig
SYSCFG_FILE ?= $(SYSCFG_DIR)/$(PROJECT)
INSTALLATION_FILE_TYPES += CFG INSTALLATION_FILE_TYPES += CFG
CONFIG_FILE ?= $(CONFIG_DIR)/$(PROJECT).conf CONFIG_FILE ?= $(CONFIG_DIR)/$(PROJECT).conf
SYSCFG_FILE ?= $(SYSCFG_DIR)/$(PROJECT)
BUILD_CFGDIR = $(TOPDIR)/conf BUILD_CFGDIR = $(TOPDIR)/conf
ifeq ($(CONFIG_SUBDIR),) ifeq ($(CONFIG_SUBDIR),)
INSTALL_CFGDIR ?= $(CONFIG_DIR) INSTALL_CFGDIR ?= $(CONFIG_DIR)
@ -310,8 +307,17 @@ endif
LOCAL_CFG ?= $(filter-out %.site.conf, $(filter-out rsyslog-%, $(wildcard *.conf *.xml *.bprof *.jw-tmpl *.ini))) $(LOCAL_EXTRA_CFG) LOCAL_CFG ?= $(filter-out %.site.conf, $(filter-out rsyslog-%, $(wildcard *.conf *.xml *.bprof *.jw-tmpl *.ini))) $(LOCAL_EXTRA_CFG)
INSTALLED_CFG ?= $(addprefix $(INSTALL_CFGDIR)/,$(LOCAL_CFG)) INSTALLED_CFG ?= $(addprefix $(INSTALL_CFGDIR)/,$(LOCAL_CFG))
# -- TMPFILES
INSTALLATION_FILE_TYPES += TMPFILES
TMPFILES += $(filter-out $(DONT_INSTALL),$(wildcard *.tmpfiles))
BUILD_TMPFILESDIR = $(TOPDIR)/bin/tmpfiles/conf.d
INSTALL_TMPFILESDIR = $(TMPFILES_DIR)
INSTALLED_TMPFILES = $(addprefix $(INSTALL_TMPFILESDIR)/,$(patsubst %.tmpfiles,%.conf,$(TMPFILES)))
# -- SYSCFG # -- SYSCFG
INSTALLATION_FILE_TYPES += SYSCFG INSTALLATION_FILE_TYPES += SYSCFG
SYSCFG_DIR ?= /etc/sysconfig
SYSCFG_FILE ?= $(SYSCFG_DIR)/$(PROJECT)
SYSCFG_FILES += $(basename $(wildcard *.sysconf)) SYSCFG_FILES += $(basename $(wildcard *.sysconf))
BUILD_SYSCFG = $(TOPDIR)/conf BUILD_SYSCFG = $(TOPDIR)/conf
BUILD_SYSCFGDIR = $(BUILD_SYSCFG) BUILD_SYSCFGDIR = $(BUILD_SYSCFG)

View file

@ -358,6 +358,9 @@ $(INSTALL_LOGROTDIR)/%: %.logrotate | provide_dir_LOGROT
$(INSTALL_APACHE_CONFDIR)/%.conf: %.apache-conf | provide_dir_APACHE_CONF $(INSTALL_APACHE_CONFDIR)/%.conf: %.apache-conf | provide_dir_APACHE_CONF
$(INSTALL) -p -o $(APACHE_CONFOWNER) -g $(APACHE_CONFGROUP) -m $(APACHE_CONFMODE) $< $@ $(INSTALL) -p -o $(APACHE_CONFOWNER) -g $(APACHE_CONFGROUP) -m $(APACHE_CONFMODE) $< $@
$(INSTALL_TMPFILESDIR)/%.conf: %.tmpfiles | provide_dir_TMPFILES
$(INSTALL) -p -o $(TMPFILESOWNER) -g $(TMPFILESGROUP) -m $(TMPFILESMODE) $< $@
$(INSTALL_RSYSLOGDIR)/%.conf: %.rsyslog | provide_dir_RSYSLOG $(INSTALL_RSYSLOGDIR)/%.conf: %.rsyslog | provide_dir_RSYSLOG
$(INSTALL) -p -o $(RSYSLOGOWNER) -g $(RSYSLOGGROUP) -m $(RSYSLOGMODE) $< $@ $(INSTALL) -p -o $(RSYSLOGOWNER) -g $(RSYSLOGGROUP) -m $(RSYSLOGMODE) $< $@