From patchwork Thu Aug 3 10:26:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Pisati X-Patchwork-Id: 797136 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3xNR6k0XGPz9s65; Thu, 3 Aug 2017 20:26:22 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1ddDKc-0000VJ-FN; Thu, 03 Aug 2017 10:26:18 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1ddDKX-0000T2-Gl for kernel-team@lists.ubuntu.com; Thu, 03 Aug 2017 10:26:13 +0000 Received: from 1.general.ppisati.uk.vpn ([10.172.193.134] helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1ddDKX-00037I-6R for kernel-team@lists.ubuntu.com; Thu, 03 Aug 2017 10:26:13 +0000 From: Paolo Pisati To: kernel-team@lists.ubuntu.com Subject: [PATCH] [RESEND] UBUNTU: snapcraft.yaml: various improvements Date: Thu, 3 Aug 2017 12:26:12 +0200 Message-Id: <1501755972-22202-1-git-send-email-paolo.pisati@canonical.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com 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 Acked-by: Kleber Sacilotto de Souza Acked-by: Stefan Bader --- snapcraft.yaml | 53 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/snapcraft.yaml b/snapcraft.yaml index e61207d..4581b9c 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -1,7 +1,12 @@ -name: ubuntu-raspi2-kernel -version: 4.4.0 -summary: The Raspberry Pi 2/3 kernel for snappy -description: This is a snapped kernel, based off the xenial raspi2 branch and config +name: pi2-kernel +version: null +version-script: | + . debian/debian.env + dpkg-parsechangelog -l $DEBIAN/changelog -S version +summary: The Canonical raspi2 Linux kernel +description: The Canonical raspi2 Linux kernel +grade: stable +confinement: strict type: kernel parts: @@ -9,8 +14,44 @@ parts: plugin: kernel source: . source-type: git - kdefconfig: ['--makefile=debian/snapcraft.mk', 'branch=raspi2','flavour=raspi2', 'config'] + kconfigflavour: raspi2 kconfigs: - - CONFIG_LOCALVERSION="-xenial_raspi2" - 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: + - linux-firmware + organize: + lib/firmware: firmware + 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