diff mbox

UBUNTU: snapcraft.yaml: various improvements

Message ID 1498467872-15077-2-git-send-email-paolo.pisati@canonical.com
State New
Headers show

Commit Message

Paolo Pisati June 26, 2017, 9:04 a.m. UTC
BugLink: http://bugs.launchpad.net/bugs/1700480

This patch improves over the original snapcraft.yaml we ship in Xenial,
and makes the generated kernel snap nearly identical to the one we ship
in the store.
Among the different improvements, we have:

1) include the linux-firmware package in the final snap
2) rename it to pc-kernel to match the snap we have in the store
3) dynamic versioning
4) autogenerated config from debian.$DEBIAN/config/*
5) generate from the same snap versions for i386, amd64, armhf, arm64, ppc64el
and s390x

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
---
 snapcraft.yaml | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)

Comments

Colin Ian King June 26, 2017, 9:08 a.m. UTC | #1
On 26/06/17 10:04, Paolo Pisati wrote:
> BugLink: http://bugs.launchpad.net/bugs/1700480
> 
> This patch improves over the original snapcraft.yaml we ship in Xenial,
> and makes the generated kernel snap nearly identical to the one we ship
> in the store.
> Among the different improvements, we have:
> 
> 1) include the linux-firmware package in the final snap
> 2) rename it to pc-kernel to match the snap we have in the store
> 3) dynamic versioning
> 4) autogenerated config from debian.$DEBIAN/config/*
> 5) generate from the same snap versions for i386, amd64, armhf, arm64, ppc64el
> and s390x
> 
> Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
> ---
>  snapcraft.yaml | 29 ++++++++++++++++++++++-------
>  1 file changed, 22 insertions(+), 7 deletions(-)
> 
> diff --git a/snapcraft.yaml b/snapcraft.yaml
> index 9ecb77df..9eb3f40 100644
> --- a/snapcraft.yaml
> +++ b/snapcraft.yaml
> @@ -1,7 +1,12 @@
> -name: ubuntu-generic-kernel
> -version: 4.4.0
> -summary: The generic kernel for snappy
> -description: This is a generic snapped kernel, based off the xenial src and config
> +name: pc-kernel
> +version: null
> +version-script: |
> +    . debian/debian.env
> +    dpkg-parsechangelog -l $DEBIAN/changelog -S version
> +summary: The Ubuntu generic Linux kernel
> +description: This Ubuntu generic Linux kernel
> +grade: stable
> +confinement: strict
>  type: kernel
>  
>  parts:
> @@ -9,8 +14,18 @@ parts:
>      plugin: kernel
>      source: .
>      source-type: git
> -    kdefconfig: ['--makefile=debian/snapcraft.mk', 'branch=master','flavour=generic', 'config']
> +    kconfigflavour: generic
>      kconfigs:
> -      - CONFIG_LOCALVERSION="-xenial_generic"
>        - CONFIG_DEBUG_INFO=n
> -    kernel-image-target: bzImage
> +  firmware:
> +    plugin: nil
> +    stage-packages:
> +      - linux-firmware
> +    organize:
> +      lib/firmware: firmware
> +    prime:
> +      - -usr
> +      - -lib
> +    build-packages:
> +      - cpio
> +      - libssl-dev
> 
Acked-by: Colin Ian King <colin.king@canonical.com>
Shrirang Bagul June 26, 2017, 10:32 a.m. UTC | #2
On Mon, 2017-06-26 at 11:04 +0200, Paolo Pisati wrote:
> BugLink: http://bugs.launchpad.net/bugs/1700480
> 
> This patch improves over the original snapcraft.yaml we ship in Xenial,
> and makes the generated kernel snap nearly identical to the one we ship
> in the store.
> Among the different improvements, we have:
> 
> 1) include the linux-firmware package in the final snap
> 2) rename it to pc-kernel to match the snap we have in the store
> 3) dynamic versioning
> 4) autogenerated config from debian.$DEBIAN/config/*
> 5) generate from the same snap versions for i386, amd64, armhf, arm64, ppc64el
> and s390x
> 
> Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
> ---
>  snapcraft.yaml | 29 ++++++++++++++++++++++-------
>  1 file changed, 22 insertions(+), 7 deletions(-)
> 
> diff --git a/snapcraft.yaml b/snapcraft.yaml
> index 9ecb77df..9eb3f40 100644
> --- a/snapcraft.yaml
> +++ b/snapcraft.yaml
> @@ -1,7 +1,12 @@
> -name: ubuntu-generic-kernel
> -version: 4.4.0
> -summary: The generic kernel for snappy
> -description: This is a generic snapped kernel, based off the xenial src and config
> +name: pc-kernel
> +version: null
> +version-script: |
> +    . debian/debian.env
> +    dpkg-parsechangelog -l $DEBIAN/changelog -S version
> +summary: The Ubuntu generic Linux kernel
> +description: This Ubuntu generic Linux kernel
> +grade: stable
> +confinement: strict
>  type: kernel
>  
>  parts:
> @@ -9,8 +14,18 @@ parts:
>      plugin: kernel
>      source: .
>      source-type: git
> -    kdefconfig: ['--makefile=debian/snapcraft.mk',
> 'branch=master','flavour=generic', 'config']
> +    kconfigflavour: generic
>      kconfigs:
> -      - CONFIG_LOCALVERSION="-xenial_generic"
>        - CONFIG_DEBUG_INFO=n
> -    kernel-image-target: bzImage
> +  firmware:
> +    plugin: nil
> +    stage-packages:
> +      - linux-firmware
> +    organize:
> +      lib/firmware: firmware
> +    prime:
> +      - -usr
> +      - -lib
> +    build-packages:
> +      - cpio
> +      - libssl-dev
> -- 
Acked-by: Shrirang Bagul <shrirang.bagul@canonical.com>
diff mbox

Patch

diff --git a/snapcraft.yaml b/snapcraft.yaml
index 9ecb77df..9eb3f40 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -1,7 +1,12 @@ 
-name: ubuntu-generic-kernel
-version: 4.4.0
-summary: The generic kernel for snappy
-description: This is a generic snapped kernel, based off the xenial src and config
+name: pc-kernel
+version: null
+version-script: |
+    . debian/debian.env
+    dpkg-parsechangelog -l $DEBIAN/changelog -S version
+summary: The Ubuntu generic Linux kernel
+description: This Ubuntu generic Linux kernel
+grade: stable
+confinement: strict
 type: kernel
 
 parts:
@@ -9,8 +14,18 @@  parts:
     plugin: kernel
     source: .
     source-type: git
-    kdefconfig: ['--makefile=debian/snapcraft.mk', 'branch=master','flavour=generic', 'config']
+    kconfigflavour: generic
     kconfigs:
-      - CONFIG_LOCALVERSION="-xenial_generic"
       - CONFIG_DEBUG_INFO=n
-    kernel-image-target: bzImage
+  firmware:
+    plugin: nil
+    stage-packages:
+      - linux-firmware
+    organize:
+      lib/firmware: firmware
+    prime:
+      - -usr
+      - -lib
+    build-packages:
+      - cpio
+      - libssl-dev