[PATCH] UBUNTU: snapcraft.yaml: various improvements

Kleber Souza kleber.souza at canonical.com
Thu Aug 3 09:44:19 UTC 2017


On 08/01/17 11:27, Paolo Pisati wrote:
> BugLink: http://bugs.launchpad.net/bugs/1700577
> 
> Update the snapcraft.yaml we ship in Xenial to exploit some of the new feature
> present in snapcraft's 3.21.
> 
> Among the improvements:
> 
> 1) include the linux-firmware / raspberry-firmware-wireless package in the final
> snap
> 2) rename it to pi2-kernel to match the snaps we have in the store
> 3) dynamic versioning
> 4) autogenerated config from debian.$DEBIAN/config/*
> 5) automatic download of raspberry-firmware-wireless from ppa:~snappy-dev
> 
> This brings the pi2 kernel in line with generic/pc-kernel and
> snapdragon/snapdragon-kernel.
> 
> The resulting kernel is identical to the one we push to the store, but can be
> fully built locally. Tested manually by comparing the two snaps (local generated
> and the one we have in the store) and by building an edge image from scratch.
> 
> Signed-off-by: Paolo Pisati <paolo.pisati at canonical.com>
> ---
>  snapcraft.yaml | 34 ++++++++++++++++++++++++++++++----
>  1 file changed, 30 insertions(+), 4 deletions(-)
> 
> diff --git a/snapcraft.yaml b/snapcraft.yaml
> index 9eb3f40..86c10c1 100644
> --- a/snapcraft.yaml
> +++ b/snapcraft.yaml
> @@ -1,10 +1,10 @@
> -name: pc-kernel
> +name: pi2-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
> +summary: The Canonical raspi2 Linux kernel
> +description: The Canonical raspi2 Linux kernel
>  grade: stable
>  confinement: strict
>  type: kernel
> @@ -14,9 +14,13 @@ parts:
>      plugin: kernel
>      source: .
>      source-type: git
> -    kconfigflavour: generic
> +    kconfigflavour: raspi2
>      kconfigs:
>        - CONFIG_DEBUG_INFO=n
> +    kernel-image-target: zImage
> +    install: |
> +      tar -C $SNAPCRAFT_PART_INSTALL/dtbs -f $SNAPCRAFT_PART_INSTALL/dtbs/overlays.tgz -czv overlays
> +      rm -rf $SNAPCRAFT_PART_INSTALL/dtbs/overlays
>    firmware:
>      plugin: nil
>      stage-packages:
> @@ -26,6 +30,28 @@ parts:
>      prime:
>        - -usr
>        - -lib
> +    install: |
> +      rm $SNAPCRAFT_PART_INSTALL/lib/firmware/brcm/brcmfmac43430-sdio.bin
>      build-packages:
>        - cpio
>        - libssl-dev
> +  raspiwififw:
> +    plugin: nil
> +    source: .
> +    after:
> +      - firmware
> +    prepare: |
> +      PKGS="http://ppa.launchpad.net/snappy-dev/image/ubuntu/dists/xenial/main/binary-armhf/Packages.gz"
> +      PKGPATH="$(wget -q -O- $PKGS|zcat|grep-dctrl raspberrypi-wireless-firmware |\
> +        grep Filename|tail -1| sed 's/^Filename: //')"
> +      wget http://ppa.launchpad.net/snappy-dev/image/ubuntu/$PKGPATH
> +      dpkg -x $(basename $PKGPATH) unpack/
> +    install: |
> +      mkdir -p $SNAPCRAFT_PART_INSTALL/firmware/brcm
> +      mv unpack/usr/share/doc/raspberrypi-wireless-firmware $SNAPCRAFT_PART_INSTALL/firmware/rpi-wlanfw-licenses
> +      mv unpack/lib/firmware/brcm80211/brcm/* $SNAPCRAFT_PART_INSTALL/firmware/brcm
> +    build-packages:
> +      - coreutils
> +      - dctrl-tools
> +      - sed
> +      - wget
> 

Hi Paolo,

This patch doesn't apply on the raspi2 branch of the xenial kernel repo.
The content of the file is completely different from the original of
your patch. It looks like it was based on the snapcraft.yaml file from
the master-next branch, but the file has been changed after the rebase.

Could you please send another patch that applies on the branch?

Thanks,
Kleber




More information about the kernel-team mailing list