Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1684331 > unrolled thread
| Started by | Paolo Pisati <paolo.pisati@canonical.com> |
|---|---|
| First post | 2017-07-10 17:10 +0200 |
| Last post | 2017-07-11 08:20 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] scripts/package: snap-pkg target Paolo Pisati <paolo.pisati@canonical.com> - 2017-07-10 17:10 +0200
Re: [PATCH] scripts/package: snap-pkg target Jim Davis <jim.epost@gmail.com> - 2017-07-10 18:50 +0200
Re: [PATCH] scripts/package: snap-pkg target Paolo Pisati <paolo.pisati@canonical.com> - 2017-07-11 08:20 +0200
| From | Paolo Pisati <paolo.pisati@canonical.com> |
|---|---|
| Date | 2017-07-10 17:10 +0200 |
| Subject | [PATCH] scripts/package: snap-pkg target |
| Message-ID | <u1Iu0-6DH-49@gated-at.bofh.it> |
Following in footsteps of other targets like 'deb-pkg, 'rpm-pkg' and 'tar-pkg', this patch adds a 'snap-pkg' target for the creation of a Linux kernel snap package using the kbuild infrastructure. A snap, in its general form, is a self contained, sandboxed, universal package and it is intended to work across multiple distributions and/or devices. A snap package is distributed as a single compressed squashfs filesystem. A kernel snap is a snap package carrying the Linux kernel, kernel modules, accessory files (DTBs, System.map, etc) and a manifesto file. The purpose of a kernel snap is to carry the Linux kernel during the creation of a system image, eg. Ubuntu Core, and it's subsequent upgrades. For more information on snap packages: https://snapcraft.io/docs/ Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> --- .gitignore | 5 +++++ scripts/package/Makefile | 14 ++++++++++++++ scripts/package/snapcraft.template | 14 ++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 scripts/package/snapcraft.template diff --git a/.gitignore b/.gitignore index 0c39aa2..638c492 100644 --- a/.gitignore +++ b/.gitignore @@ -59,6 +59,11 @@ Module.symvers /debian/ # +# Snap directory (make snap-pkg) +# +/snap/ + +# # tar directory (make tar*-pkg) # /tar-install/ diff --git a/scripts/package/Makefile b/scripts/package/Makefile index 71b4a8a..a7ea67c 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 # --------------------------------------------------------------------------- @@ -143,6 +156,7 @@ help: FORCE @echo ' binrpm-pkg - Build only the binary kernel RPM package' @echo ' deb-pkg - Build both source and binary deb kernel packages' @echo ' bindeb-pkg - Build only the binary kernel deb package' + @echo ' snap-pkg - Build only the binary kernel snap package' @echo ' tar-pkg - Build the kernel as an uncompressed tarball' @echo ' targz-pkg - Build the kernel as a gzip compressed tarball' @echo ' tarbz2-pkg - Build the kernel as a bzip2 compressed tarball' diff --git a/scripts/package/snapcraft.template b/scripts/package/snapcraft.template new file mode 100644 index 0000000..2e7ffc8 --- /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.7.4
[toc] | [next] | [standalone]
| From | Jim Davis <jim.epost@gmail.com> |
|---|---|
| Date | 2017-07-10 18:50 +0200 |
| Message-ID | <u1K2K-7qQ-7@gated-at.bofh.it> |
| In reply to | #1684331 |
On Mon, Jul 10, 2017 at 7:59 AM, Paolo Pisati <paolo.pisati@canonical.com> wrote: > eg. Ubuntu Core, and it's subsequent upgrades. its > > For more information on snap packages: https://snapcraft.io/docs/ Is this something a user could do with the existing deb target, and then running deb2snap? -- Jim
[toc] | [prev] | [next] | [standalone]
| From | Paolo Pisati <paolo.pisati@canonical.com> |
|---|---|
| Date | 2017-07-11 08:20 +0200 |
| Message-ID | <u1WGB-77T-9@gated-at.bofh.it> |
| In reply to | #1684413 |
On Mon, Jul 10, 2017 at 6:46 PM, Jim Davis <jim.epost@gmail.com> wrote: >> >> For more information on snap packages: https://snapcraft.io/docs/ > > Is this something a user could do with the existing deb target, and > then running deb2snap? No, the kernel snap is a special case, it requires communication with the store (e.g. to download the core snap) and some extra steps, therefore you should use snapcraft and abstract from these details. -- bye, p.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web