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

Message ID 20210815203846.15956-2-robin.roevens@disroot.org
State New
Headers show
Series buildprocess: additional pak metadata | expand

Commit Message

Robin Roevens Aug. 15, 2021, 8:38 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(-)

Patch

diff --git a/lfs/Config b/lfs/Config
index a2d3cddc5..27b36e3c0 100644
--- a/lfs/Config
+++ b/lfs/Config
@@ -302,13 +302,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
 
@@ -316,6 +319,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