From mboxrd@z Thu Jan  1 00:00:00 1970
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH 1/3] buildprocess: Add extra metadata to meta-* files
Date: Fri, 14 May 2021 13:23:00 +0100
Message-ID: <5CC0D100-3C6A-45B5-BA1C-17117D1C1D63@ipfire.org>
In-Reply-To: <20210423161534.32738-2-robin.roevens@disroot.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============4716362454355352946=="
List-Id: <development.lists.ipfire.org>

--===============4716362454355352946==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Hello,

> On 23 Apr 2021, at 17:15, Robin Roevens <robin.roevens(a)disroot.org> wrote:
>=20
> * 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.
>=20
> Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
> ---
> lfs/Config        | 8 ++++++--
> lfs/libvirt       | 6 ++++--
> lfs/zabbix_agentd | 5 ++++-
> src/pakfire/meta  | 2 ++
> 4 files changed, 16 insertions(+), 5 deletions(-)
>=20
> 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=3D%s /install/packages/$(PROG)-$(VER)-$(PAK_V=
ER).ipfire)/g" \
> +		-e "s/INITSCRIPTS/$(INITSCRIPTS)/g" \
> 	  < /usr/src/src/pakfire/meta > /install/packages/meta-$(PROG)
> endef
>=20
> -define INSTALL_INITSCRIPT
> -	install -m 754 -v $(DIR_SRC)/src/initscripts/packages/$(1)  /etc/rc.d/ini=
t.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=E2=80=99t abort any more if there install command failed. The exit c=
ode is ignored and the loop will continue with its next iteration.

You could add =E2=80=9C|| exit 1=E2=80=9D after the install command. There sh=
ould be plenty of examples in the code where this has been used.

> 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
>=20
> VER        =3D 6.5.0
> +SUMMARY	   =3D Server side daemon and supporting files for libvirt
>=20
> THISAPP    =3D libvirt-$(VER)
> DL_FILE    =3D $(THISAPP).tar.xz
> @@ -37,6 +38,8 @@ PAK_VER    =3D 25
>=20
> DEPS       =3D ebtables libpciaccess libtirpc libyajl ncat qemu
>=20
> +INITSCRIPTS=3D libvirtd virtlogd
> +
> ###########################################################################=
####
> # Top-level Rules
> ###########################################################################=
####
> @@ -121,8 +124,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> 	cd $(DIR_APP)/build_libvirt && make install
>=20
> 	#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
>=20
> 	# 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
>=20
> VER        =3D 4.2.6
> +SUMMARY    =3D Zabbix Agent
>=20
> THISAPP    =3D zabbix-$(VER)
> DL_FILE    =3D $(THISAPP).tar.gz
> @@ -35,6 +36,8 @@ PROG       =3D zabbix_agentd
> PAK_VER    =3D 4
> DEPS       =3D
>=20
> +INITSCRIPTS=3D zabbix_agentd
> +
> ###########################################################################=
####
> # Top-level Rules
> ###########################################################################=
####
> @@ -106,7 +109,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> 	chown zabbix.zabbix /var/run/zabbix
>=20
> 	# Install initscripts
> -	$(call INSTALL_INITSCRIPT,zabbix_agentd)
> +	@$(INSTALL_INITSCRIPTS)
>=20
> 	# 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
> --=20
> 2.31.1

Also, what happens with all the other files that used to call =E2=80=9CINSTAL=
L_INITSCRIPT=E2=80=9D?

-Michael

> --=20
> Dit bericht is gescanned op virussen en andere gevaarlijke
> inhoud door MailScanner en lijkt schoon te zijn.
>=20


--===============4716362454355352946==--