No package exists with version 5.4.0-99.112.1 on armhf/arm64 as
expected by swm. Thus currently it is not possible to create
consistent snaps across all architectures with the same version
number. Revert adopt-info, and use hard-coded version number once
again.
This should unblock swn state for pc-kernel on armhf/arm64.
Signed-off-by: Dimitri John Ledkov <email address hidden>
snapcraft.yaml: ship nvidia 470-server object files and signatures
Ship disassembled nvidia drivers object files and detached
signatures. Test build the modules during snap package build, update
depmod, and clean them.
These files will be assembled at runtime by a userspace snap and
become usable together with a content provider of userspace libraries.
Signed-off-by: Dimitri John Ledkov <email address hidden>
snapcraft.yaml: redo snap packaging using pure snapcraft syntax
This patch revamps kernel snap packaging using modern snapcraft
features.
Stop using custom git source master branch of multiple makefiles that
setup chroots, enable custom PPAs, and optionally activate proposed
pocket. Instead, simply declare package-repositories key that enables
UC20 specific repositories and kernel-teams proposed respository.
Instead of manually unpacking all the required debs, use
stage-packages to stage all the things we ship in the kernel snap. Use
declarative syntax of organize to rename and move things to match the
expected kernel snap layout.
Introduce doc/ directory that keeps all license texts and changelogs
of all the included packages: kernel.efi packaging, kernel ABI
packaging, linux-firmware, wireless-regdb. Previously kernel's GPL-2
license was shipped in the top level directory, with firmware licenses
under firmware/licenses, and wireless-regdb licening information
missing without any changelogs.
The snapcraft.yaml is architecture independent and will correctly
create kernel.efi snap when available, otherwise vmlinuz one.
These changes also improve manifest.yaml embedded in the snap, as it
now accurately describes all the staged packges and their version
numbers. For example snapstore will be able to send out out-of-date
notifcation when linux-firmware or wireless-regdb is updated from now.
Collectively these changes allow to building the snap correctly and
reproducibly locally, without relying on settings setup in launchpad
+snap build. They also allow to resnap kernel against custom builds
and embargoed security builds without needing to crank them - simply
issue build requests in launchpad.