[Acked] [PATCH v2] deb to snap: recurse down to find the real kernel image package, and chek its version

Paolo Pisati paolo.pisati at canonical.com
Thu Nov 16 09:21:38 UTC 2017


Yep, i rebuilt all our kernel snaps before sending it out.

On Wed, Nov 15, 2017 at 6:51 PM, Andy Whitcroft <apw at canonical.com> wrote:
> On Wed, Nov 15, 2017 at 05:46:14PM +0100, Paolo Pisati wrote:
>> Signed-off-by: Paolo Pisati <paolo.pisati at canonical.com>
>> ---
>>  Makefile | 20 +++++++++++++++++++-
>>  1 file changed, 19 insertions(+), 1 deletion(-)
>>
>> diff --git a/Makefile b/Makefile
>> index dad3156..409bbc3 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -8,9 +8,12 @@ ifeq "$(strip $(KERNEL))" ""
>>  $(error KERNEL package name is missing, abort)
>>  endif
>>
>> +ABI := $(shell echo $(SNAPCRAFT_PROJECT_VERSION) | cut -f1-3 -d".")
>> +
>>  # 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)
>> +KERNELPRE := linux-image-$(ABI)
>>
>>  # linux-pc-image is a meta package used to indicate either
>>  # linux-signed-image-generic or linux-image-generic, depending on the building
>> @@ -18,6 +21,7 @@ KERNELDEB := $(KERNEL)
>>  ifneq (,$(findstring linux-pc-image,$(KERNELDEB)))
>>  ifneq (,$(findstring amd64,$(DPKG_ARCH)))
>>  KERNELDEB := $(subst linux-pc-image,linux-signed-image-generic,$(KERNELDEB))
>> +KERNELPRE := linux-signed-image-$(ABI)
>>  else ifneq (,$(findstring i386,$(DPKG_ARCH)))
>>  KERNELDEB := $(subst linux-pc-image,linux-image-generic,$(KERNELDEB))
>>  else
>> @@ -44,6 +48,7 @@ Pin-Priority: 700
>>  endef
>>  export APTPREF
>>
>> +versioncheck: KIMGDEB = $(shell chroot chroot apt-cache depends $(KERNELDEB) | awk '/$(KERNELPRE)/ {print $$2}')
>>  install : KVERS = $(shell ls -1 chroot/boot/vmlinuz-*| tail -1 |sed 's/^.*vmlinuz-//;s/.efi.signed$$//')
>>
>>  all:
>> @@ -68,7 +73,7 @@ all:
>>       umount chroot/sys
>>       umount chroot/proc
>>
>> -install:
>> +install: versioncheck
>>       mkdir -p $(DESTDIR)/lib $(DESTDIR)/meta $(DESTDIR)/firmware $(DESTDIR)/modules
>>       if [ -f chroot/boot/vmlinu?-*.signed ]; then \
>>         mv chroot/boot/vmlinu?-*.signed $(DESTDIR)/kernel.img; \
>> @@ -115,3 +120,16 @@ install:
>>       cd $(DESTDIR); ln -s kernel.img vmlinuz-$(KVERS)
>>       cd $(DESTDIR); ln -s kernel.img vmlinuz
>>       cd $(DESTDIR); ln -s initrd.img initrd.img-$(KVERS)
>> +
>> +versioncheck:
>> +     { \
>> +     set -e; \
>> +     echo $(KIMGDEB); \
>> +     KIMGVER="$$(dpkg --root=chroot -l | awk '/$(KIMGDEB)/ {print $$3}')"; \
>> +     echo $$KIMGVER; \
>> +     [ ! $$KIMGVER ] && echo "Unable to extract KIMGVER, exit" && exit 1; \
>> +     if [ $$KIMGVER != $(SNAPCRAFT_PROJECT_VERSION) ]; then \
>> +       echo "Version mismatch:\nInstalled: $$KIMGVER Requested: $(SNAPCRAFT_PROJECT_VERSION)"; \
>> +       exit 1; \
>> +     fi; \
>> +     }
>> --
>> 2.7.4
>>
>>
>> --
>> kernel-team mailing list
>> kernel-team at lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
> That looks much better.  I guess this has been tested and so:
>
> Acked-by: Andy Whitcroft <apw at canonical.com>
>
> -apw



-- 
bye,
p.




More information about the kernel-team mailing list