[RFC/upstream:linux 4/5] kbuild: snap-pkg: rafactor the build rule slightly

Masahiro Yamada masahiro.yamada at canonical.com
Tue Feb 28 09:49:48 UTC 2023


Split it into two rules, to generate snapcraft.yaml and run snapcraft.

Signed-off-by: Masahiro Yamada <masahiro.yamada at canonical.com>
---
 scripts/Makefile.package | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/scripts/Makefile.package b/scripts/Makefile.package
index 0b99e4aaead1..5a1ffd343651 100644
--- a/scripts/Makefile.package
+++ b/scripts/Makefile.package
@@ -132,16 +132,18 @@ intdeb-pkg:
 
 # snap-pkg
 # ---------------------------------------------------------------------------
-PHONY += snap-pkg
-snap-pkg:
-	rm -rf $(objtree)/snap
-	mkdir $(objtree)/snap
-	sed "s at KERNELRELEASE@$$(echo $(KERNELRELEASE) | cut -b -32)@" \
-		$(srctree)/scripts/package/snapcraft.template > \
-		$(objtree)/snap/snapcraft.yaml
-	mkdir -p snap/dummy
-	cd $(objtree)/snap && \
-	SNAPCRAFT_BUILD_ENVIRONMENT=host snapcraft --target-arch=$(UTS_MACHINE)
+
+quiet_cmd_gen_snapcraft = GEN     $@
+      cmd_gen_snapcraft = \
+	rm -rf $(dir $@); \
+	mkdir -p snap/dummy; \
+	sed "s/KERNELRELEASE/$$(echo $(KERNELRELEASE) | cut -b -32)/" $< > $@
+
+snap/snapcraft.yaml: scripts/package/snapcraft.template FORCE
+	$(call cmd,gen_snapcraft)
+
+snap-pkg: snap/snapcraft.yaml
+	+$(Q)cd snap && SNAPCRAFT_BUILD_ENVIRONMENT=host snapcraft --target-arch=$(UTS_MACHINE)
 
 # dir-pkg tar*-pkg - tarball targets
 # ---------------------------------------------------------------------------
-- 
2.34.1




More information about the kernel-team mailing list