From 8437ec42c423e6eccac9ca6005294f68789f1c07 Mon Sep 17 00:00:00 2001 From: Paolo Pisati Date: Tue, 27 Jun 2017 13:13:05 +0200 Subject: [PATCH] make snap-pkg support BugLink: http://bugs.launchpad.net/bugs/1700747 This patch integrates snapcraft in the kbuild environment of the Linux kernel. To use it: make defconfig make snap-pkg or in case of cross-compilation (e.g. arm): export ARCH=arm; export CROSS_COMPILE=arm-linux-gnueabihf- make defconfig make snap-pkg The resulting kernel snap will be generated in $(objtree)/snap Signed-off-by: Paolo Pisati Acked-by: Stefan Bader Acked-by: Thadeu Lima de Souza Cascardo Signed-off-by: Seth Forshee --- .gitignore | 5 +++++ scripts/package/Makefile | 13 +++++++++++++ scripts/package/snapcraft.template | 14 ++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 scripts/package/snapcraft.template diff --git a/.gitignore b/.gitignore index 126a04a5e1c0..df207659bafa 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,11 @@ Module.symvers # #/debian/ +# +# Snap directory (make snap-pkg) +# +/snap/ + # # tar directory (make tar*-pkg) # diff --git a/scripts/package/Makefile b/scripts/package/Makefile index 71b4a8af9d4d..491134e94161 100644 --- a/scripts/package/Makefile +++ b/scripts/package/Makefile @@ -99,6 +99,19 @@ bindeb-pkg: FORCE clean-dirs += $(objtree)/debian/ +# snap-pkg +# --------------------------------------------------------------------------- +snap-pkg: FORCE + rm -rf $(objtree)/snap + mkdir $(objtree)/snap + sed "s@KERNELRELEASE@$(KERNELRELEASE)@; \ + s@SRCTREE@$(shell realpath $(srctree))@" \ + $(srctree)/scripts/package/snapcraft.template > \ + $(objtree)/snap/snapcraft.yaml + cd $(objtree)/snap && \ + snapcraft --target-arch=$(UTS_MACHINE) + +clean-dirs += $(objtree)/snap/ # tarball targets # --------------------------------------------------------------------------- diff --git a/scripts/package/snapcraft.template b/scripts/package/snapcraft.template new file mode 100644 index 000000000000..2e7ffc803063 --- /dev/null +++ b/scripts/package/snapcraft.template @@ -0,0 +1,14 @@ +name: kernel +version: KERNELRELEASE +summary: Linux kernel +description: The upstream Linux kernel +grade: stable +confinement: strict +type: kernel + +parts: + kernel: + plugin: kernel + source: SRCTREE + source-type: git + kconfigfile: SRCTREE/.config -- 2.39.5