[v3,1/2] buildprocess: Add extra metadata to meta-* files

Message ID 20220131224047.22310-2-robin.roevens@disroot.org
State Accepted
Headers
Series [v3,1/2] buildprocess: Add extra metadata to meta-* files |

Commit Message

Robin Roevens Jan. 31, 2022, 10:40 p.m. UTC
  * Add a Summary and Services field to the meta-* addon files.
* Add an INSTALL_INITSCRIPTS macro that takes a space seperated
  list of initscripts to install.
* I kept the original INSTALL_INITSCRIPT as a method to install
  individual initscripts for backwards compatibility and possible corner
  cases.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
---
 lfs/Config       | 11 ++++++++++-
 src/pakfire/meta |  2 ++
 2 files changed, 12 insertions(+), 1 deletion(-)
  

Comments

Peter Müller Feb. 7, 2022, 8:36 p.m. UTC | #1
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>

> * Add a Summary and Services field to the meta-* addon files.
> * Add an INSTALL_INITSCRIPTS macro that takes a space seperated
>   list of initscripts to install.
> * I kept the original INSTALL_INITSCRIPT as a method to install
>   individual initscripts for backwards compatibility and possible corner
>   cases.
> 
> Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
> ---
>  lfs/Config       | 11 ++++++++++-
>  src/pakfire/meta |  2 ++
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/lfs/Config b/lfs/Config
> index 76a07b088..525c0881a 100644
> --- a/lfs/Config
> +++ b/lfs/Config
> @@ -301,13 +301,16 @@ define PAK
>  	# Cleanup
>  	rm -rf $(DIR_TMP_PAK)
>  
> -	# Create meta file
> +	# Escape SUMMARY variable and create meta file
> +	summaryEscaped=$$(sed 's/[&/\]/\\&/g' <<< "$(SUMMARY)"); \
>  	sed \
>  		-e "s/NAME/$(PROG)/g" \
> +		-e "s/SUMMARY/$$summaryEscaped/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/SERVICES/$(SERVICES)/g" \
>  	  < /usr/src/src/pakfire/meta > /install/packages/meta-$(PROG)
>  endef
>  
> @@ -315,6 +318,12 @@ define INSTALL_INITSCRIPT
>  	install -m 754 -v $(DIR_SRC)/src/initscripts/packages/$(1)  /etc/rc.d/init.d/$(1)
>  endef
>  
> +define INSTALL_INITSCRIPTS
> +	for initscript in $(1); do \
> +		$(call INSTALL_INITSCRIPT,$$initscript) || exit 1; \
> +    done
> +endef
> +
>  ifeq "$(BUILD_ARCH)" "$(filter $(BUILD_ARCH),aarch64 riscv64)"
>  define UPDATE_AUTOMAKE
>  	for i in $$(find $(DIR_APP) -name config.guess -o -name config.sub); do \
> diff --git a/src/pakfire/meta b/src/pakfire/meta
> index d97b2a0fa..08e7d53fb 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
> +Services: SERVICES
  

Patch

diff --git a/lfs/Config b/lfs/Config
index 76a07b088..525c0881a 100644
--- a/lfs/Config
+++ b/lfs/Config
@@ -301,13 +301,16 @@  define PAK
 	# Cleanup
 	rm -rf $(DIR_TMP_PAK)
 
-	# Create meta file
+	# Escape SUMMARY variable and create meta file
+	summaryEscaped=$$(sed 's/[&/\]/\\&/g' <<< "$(SUMMARY)"); \
 	sed \
 		-e "s/NAME/$(PROG)/g" \
+		-e "s/SUMMARY/$$summaryEscaped/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/SERVICES/$(SERVICES)/g" \
 	  < /usr/src/src/pakfire/meta > /install/packages/meta-$(PROG)
 endef
 
@@ -315,6 +318,12 @@  define INSTALL_INITSCRIPT
 	install -m 754 -v $(DIR_SRC)/src/initscripts/packages/$(1)  /etc/rc.d/init.d/$(1)
 endef
 
+define INSTALL_INITSCRIPTS
+	for initscript in $(1); do \
+		$(call INSTALL_INITSCRIPT,$$initscript) || exit 1; \
+    done
+endef
+
 ifeq "$(BUILD_ARCH)" "$(filter $(BUILD_ARCH),aarch64 riscv64)"
 define UPDATE_AUTOMAKE
 	for i in $$(find $(DIR_APP) -name config.guess -o -name config.sub); do \
diff --git a/src/pakfire/meta b/src/pakfire/meta
index d97b2a0fa..08e7d53fb 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
+Services: SERVICES