]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
make snap-pkg support
authorPaolo Pisati <paolo.pisati@canonical.com>
Tue, 27 Jun 2017 11:13:05 +0000 (13:13 +0200)
committerSeth Forshee <seth.forshee@canonical.com>
Mon, 29 Jan 2018 13:44:58 +0000 (07:44 -0600)
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 <paolo.pisati@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
.gitignore
scripts/package/Makefile
scripts/package/snapcraft.template [new file with mode: 0644]

index cfb46d17f355ab67478f20e03b96303e8fe1303f..ac4654cec00bec93bde20f49cb0542106285368f 100644 (file)
@@ -65,6 +65,11 @@ modules.builtin
 #
 #/debian/
 
+#
+# Snap directory (make snap-pkg)
+#
+/snap/
+
 #
 # tar directory (make tar*-pkg)
 #
index c23534925b38173d8d5adeeee99b298bd6053960..5a1d2e21a382248f30586844fbe233a712b82ad6 100644 (file)
@@ -94,6 +94,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 (file)
index 0000000..2e7ffc8
--- /dev/null
@@ -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