[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