[RFC/upstream:linux 5/5] kbuild: snap-pkg: avoid downloading os.snap again
Masahiro Yamada
masahiro.yamada at canonical.com
Tue Feb 28 09:49:49 UTC 2023
snapcraft downloads os.snap every time.
Reuse local os.snap in snap/parts/kernel/src/.
Signed-off-by: Masahiro Yamada <masahiro.yamada at canonical.com>
---
scripts/Makefile.package | 5 ++++-
scripts/package/snapcraft.template | 8 ++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
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 ..
--
2.34.1
More information about the kernel-team
mailing list