Hello,
On 14 May 2021, at 21:16, Robin Roevens robin.roevens@disroot.org wrote:
Hi
Michael Tremer schreef op vr 14-05-2021 om 13:23 [+0100]:
Hello,
On 23 Apr 2021, at 17:15, Robin Roevens robin.roevens@disroot.org wrote:
- Introduce SUMMARY and INITSCRIPTS macro's in LFS-makefiles.
- Add a Summary and InitScripts field to the meta-* addon files
containing the value's of those macro's.
- Replace the INSTALL_INITSCRIPT makefile macro by a new
INSTALL_INITSCRIPTS macro/method that will install all initscripts defined in the new INITSCRIPTS macro.
- Adapt libvirt and zabbix_agentd pak as examples of how to use
this.
Signed-off-by: Robin Roevens robin.roevens@disroot.org
lfs/Config | 8 ++++++-- lfs/libvirt | 6 ++++-- lfs/zabbix_agentd | 5 ++++- src/pakfire/meta | 2 ++ 4 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/lfs/Config b/lfs/Config index eadbbc408..61d6f0c82 100644 --- a/lfs/Config +++ b/lfs/Config @@ -299,15 +299,19 @@ define PAK # Create meta file sed \ -e "s/NAME/$(PROG)/g" \
-e "s/SUMMARY/$(SUMMARY)/g" \ -e "s/VER/$(VER)/g" \ -e "s/RELEASE/$(PAK_VER)/g" \ -e "s/DEPS/$(DEPS)/g" \ -e "s/SIZE/$$(stat --format=%s
/install/packages/$(PROG)-$(VER)-$(PAK_VER).ipfire)/g" \
-e "s/INITSCRIPTS/$(INITSCRIPTS)/g" \ < /usr/src/src/pakfire/meta > /install/packages/meta-
$(PROG) endef
-define INSTALL_INITSCRIPT
install -m 754 -v $(DIR_SRC)/src/initscripts/packages/$(1)
/etc/rc.d/init.d/$(1) +define INSTALL_INITSCRIPTS
for initscript in $(INITSCRIPTS); do \
install -m 754 -v
$(DIR_SRC)/src/initscripts/packages/$$initscript /etc/rc.d/init.d/$$initscript; \
done
endef
This won’t abort any more if there install command failed. The exit code is ignored and the loop will continue with its next iteration.
You could add “|| exit 1” after the install command. There should be plenty of examples in the code where this has been used.
Good point. will add that.
ifeq "$(BUILD_ARCH)" "$(filter $(BUILD_ARCH),aarch64 riscv64)" diff --git a/lfs/libvirt b/lfs/libvirt index 28a95d317..be5d3db3a 100644 --- a/lfs/libvirt +++ b/lfs/libvirt @@ -25,6 +25,7 @@ include Config
VER = 6.5.0 +SUMMARY = Server side daemon and supporting files for libvirt
THISAPP = libvirt-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -37,6 +38,8 @@ PAK_VER = 25
DEPS = ebtables libpciaccess libtirpc libyajl ncat qemu
+INITSCRIPTS= libvirtd virtlogd
################################################################### ############ # Top-level Rules ################################################################### ############ @@ -121,8 +124,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP)/build_libvirt && make install
#install initscripts
$(call INSTALL_INITSCRIPT,libvirtd)
$(call INSTALL_INITSCRIPT,virtlogd)
@$(INSTALL_INITSCRIPTS) mv /usr/libexec/libvirt-guests.sh /etc/rc.d/init.d/libvirt-
guests
# Backup
diff --git a/lfs/zabbix_agentd b/lfs/zabbix_agentd index c69643a54..a72fe024b 100644 --- a/lfs/zabbix_agentd +++ b/lfs/zabbix_agentd @@ -25,6 +25,7 @@ include Config
VER = 4.2.6 +SUMMARY = Zabbix Agent
THISAPP = zabbix-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -35,6 +36,8 @@ PROG = zabbix_agentd PAK_VER = 4 DEPS =
+INITSCRIPTS= zabbix_agentd
################################################################### ############ # Top-level Rules ################################################################### ############ @@ -106,7 +109,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) chown zabbix.zabbix /var/run/zabbix
# Install initscripts
$(call INSTALL_INITSCRIPT,zabbix_agentd)
@$(INSTALL_INITSCRIPTS) # Install sudoers include file install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/sudoers \
diff --git a/src/pakfire/meta b/src/pakfire/meta index d97b2a0fa..849b9cd6c 100644 --- a/src/pakfire/meta +++ b/src/pakfire/meta @@ -1,6 +1,8 @@ Name: NAME +Summary: SUMMARY ProgVersion: VER Release: RELEASE Size: SIZE Dependencies: DEPS File: NAME-VER-RELEASE.ipfire
+InitScripts: INITSCRIPTS
2.31.1
Also, what happens with all the other files that used to call “INSTALL_INITSCRIPT”?
What other files call INSTALL_INITSCRIPT ? Is it not only called from the lfs files? The intention is of course, in the final patch-set to adapt all lfs files to use the INITSCRIPTS variable and call INSTALL_INITSCIPTS instead of individual calls to INSTALL_INITSCRIPT. But I did not yet want to do this, since my idea could also be shot down or drastically adapted, making that work obsolete. (already proven by my new SERVICES/INITSCRIPTS proposal in my previous mail). SO I currently only included 2 examples (zabbix_agentd and libvirt) of the changes to the lfs files involved. If that is what you meant ?
Okay, that wasn’t clear to me, but this is what I was referring to.
INSTALL_INITSCRIPTS is called 56 times and you want to change it, all those files would need to be changed, too.
However, let’s sort out Jonatan’s point first and see what a good solution would be.
Best, -Michael
Regards Robin
-Michael
-- Dit bericht is gescanned op virussen en andere gevaarlijke inhoud door MailScanner en lijkt schoon te zijn.
-- Dit bericht is gescanned op virussen en andere gevaarlijke inhoud door MailScanner en lijkt schoon te zijn.