From patchwork Tue Jul 18 14:20:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Pisati X-Patchwork-Id: 790297 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 3xBj4368BVz9t2c; Wed, 19 Jul 2017 00:20:19 +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 1dXTMD-0000Ir-KE; Tue, 18 Jul 2017 14:20:13 +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 1dXTMB-0000Im-Oe for kernel-team@lists.ubuntu.com; Tue, 18 Jul 2017 14:20:11 +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 1dXTMB-0006R5-Eg for kernel-team@lists.ubuntu.com; Tue, 18 Jul 2017 14:20:11 +0000 From: Paolo Pisati To: kernel-team@lists.ubuntu.com Subject: [PATCH] deb to snap build script: Enforce kernel version, and several other changes Date: Tue, 18 Jul 2017 16:20:11 +0200 Message-Id: <1500387611-17438-1-git-send-email-paolo.pisati@canonical.com> X-Mailer: git-send-email 2.7.4 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 Among which: -split the PACKAGE argument in KERNEL and PKGS -make KERNEL a mandatory parameter -introduce a linux-pc-kernel meta pkg for i386 and amd64 pc-kernel variants After this patch is applied to master/Makefile, all the child branches (pc, rpi2 and snapdragon) will break - i'm sending a subsequent patch for each of these to take care of the necessary changes. Signed-off-by: Paolo Pisati --- Makefile | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index d21fff1..98c5a48 100644 --- a/Makefile +++ b/Makefile @@ -4,15 +4,27 @@ ENV := DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C MIRROR := ftpmaster.internal/ubuntu +ifeq "$(strip $(KERNEL))" "" +$(error KERNEL package name is missing, abort) +endif + +# rewriting variables passed from the outside environment doesn't work in LP, +# so use KERNELDEB as a temporary local variable to hold the kernel pkg name +KERNELDEB := $(KERNEL)=$(SNAPCRAFT_PROJECT_VERSION) + +# linux-pc-image is a meta package used to indicate either +# linux-signed-image-generic or linux-image-generic, depending on the building +# architecture (amd64 or i386), it's invalid kernel name for any other arch +ifneq (,$(findstring linux-pc-image,$(KERNELDEB))) ifneq (,$(findstring amd64,$(DPKG_ARCH))) -PACKAGE ?= linux-signed-generic +KERNELDEB := $(subst linux-pc-image,linux-signed-image-generic,$(KERNELDEB)) else ifneq (,$(findstring i386,$(DPKG_ARCH))) -PACKAGE ?= linux-generic -else ifneq (,$(findstring armhf,$(DPKG_ARCH))) -PACKAGE ?= linux-image-raspi2 raspberrypi-wireless-firmware bluez-firmware -else ifneq (,$(findstring arm64,$(DPKG_ARCH))) -PACKAGE ?= linux-image-snapdragon linux-firmware-snapdragon +KERNELDEB := $(subst linux-pc-image,linux-image-generic,$(KERNELDEB)) +else +$(error linux-pc-image is a meta package only used in i386 or amd64, abort) endif +endif + install : KVERS = $(shell ls -1 chroot/boot/vmlinuz-*| tail -1 |sed 's/^.*vmlinuz-//;s/.efi.signed$$//') @@ -30,7 +42,7 @@ all: $(ENV) chroot chroot apt-get -y --allow-unauthenticated install initramfs-tools-ubuntu-core linux-firmware xz-utils mount --bind /proc chroot/proc mount --bind /sys chroot/sys - $(ENV) chroot chroot apt-get -y --allow-unauthenticated install $(PACKAGE) + $(ENV) chroot chroot apt-get -y --allow-unauthenticated install $(KERNELDEB) $(PKGS) umount chroot/sys umount chroot/proc