diff mbox series

[RFC/upstream:linux,5/5] kbuild: snap-pkg: avoid downloading os.snap again

Message ID 20230228094949.2660702-6-masahiro.yamada@canonical.com
State New
Headers show
Series kbuild: snap-pkg: make 'make snap-pkg' comple on Ubuntu 20.04 | expand

Commit Message

Masahiro Yamada Feb. 28, 2023, 9:49 a.m. UTC
snapcraft downloads os.snap every time.

Reuse local os.snap in snap/parts/kernel/src/.

Signed-off-by: Masahiro Yamada <masahiro.yamada@canonical.com>
---
 scripts/Makefile.package           | 5 ++++-
 scripts/package/snapcraft.template | 8 ++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/scripts/Makefile.package b/scripts/Makefile.package
index 5a1ffd343651..f202bddcd5df 100644
--- a/scripts/Makefile.package
+++ b/scripts/Makefile.package
@@ -135,8 +135,11 @@  intdeb-pkg:
 
 quiet_cmd_gen_snapcraft = GEN     $@
       cmd_gen_snapcraft = \
-	rm -rf $(dir $@); \
 	mkdir -p snap/dummy; \
+	if [ -f snap/parts/kernel/src/os.snap ]; then \
+		cp snap/parts/kernel/src/os.snap snap/; \
+	fi; \
+	rm -rf snap/parts snap/prime snap/stage; \
 	sed "s/KERNELRELEASE/$$(echo $(KERNELRELEASE) | cut -b -32)/" $< > $@
 
 snap/snapcraft.yaml: scripts/package/snapcraft.template FORCE
diff --git a/scripts/package/snapcraft.template b/scripts/package/snapcraft.template
index fd91ac9c2ca3..3de8bcdfdcd9 100644
--- a/scripts/package/snapcraft.template
+++ b/scripts/package/snapcraft.template
@@ -13,6 +13,14 @@  parts:
     source: dummy
     source-type: local
     kernel-with-firmware: false
+    override-pull: |
+      ls
+      pwd
+      if [ -r ../../../os.snap ]; then
+          cp ../../../os.snap .
+      else
+          snapcraftctl pull
+      fi
     override-build: |
       # build in-place
       cd ..