Currently delphix-kernel depends on linux-$PLATFORM and linux-tools-$PLATFORM, which in turn depend on linux-image-$PLATFORM and linux-headers-$PLATFORM. linux-image-$PLATFORM currently depends on linux-image-$KVERS among other things.
One problem is that a package like linux-image-generic can depend on linux-image-4.15.0-39-generic or linux-image-4.15.0-42-generic depending on the version of linux-image-generic provided. Since delphix-kernel already has a kernel version embedded in its name (e.g. delphix-kernel-4.15.0-39-generic), it doesn't make much sense for it to depend on a package that could have a dependency on a package built for a different kernel version.
We'd want to remove any ambiguities and have delphix-kernel-4.15.0-39-generic only depend on packages built specifically for 4.15.0-39-generic.
Another problem is that there is an asymmetry between linux-image-generic and other linux-image-$PLATFORM packages. For instance, linux-image-generic depends on all of linux-image-$KVERS, linux-modules-extra-$KVERS, linux-firmware, intel-microcode, amd64-microcode, while linux-image-aws only depends on linux-image-$KVERS, which makes listing dependencies more complicated. It's also unclear whether we actually need linux-modules-extra-$KVERS, linux-firmware, intel-microcode, amd64-microcode for our generic kernel as those might only apply for bare-metal deployments.
Finally, if we are to remove linux-$PLATFORM, linux-tools-$PLATFORM, linux-image-$PLATFORM and linux-headers-$PLATFORM from delphix-kernel, we should verify that other packages or system components do not have dependencies on those metapackages being installed.
Currently
delphix-kerneldepends onlinux-$PLATFORMandlinux-tools-$PLATFORM, which in turn depend onlinux-image-$PLATFORMandlinux-headers-$PLATFORM.linux-image-$PLATFORMcurrently depends onlinux-image-$KVERSamong other things.One problem is that a package like
linux-image-genericcan depend onlinux-image-4.15.0-39-genericorlinux-image-4.15.0-42-genericdepending on the version oflinux-image-genericprovided. Sincedelphix-kernelalready has a kernel version embedded in its name (e.g.delphix-kernel-4.15.0-39-generic), it doesn't make much sense for it to depend on a package that could have a dependency on a package built for a different kernel version.We'd want to remove any ambiguities and have
delphix-kernel-4.15.0-39-genericonly depend on packages built specifically for4.15.0-39-generic.Another problem is that there is an asymmetry between
linux-image-genericand otherlinux-image-$PLATFORMpackages. For instance,linux-image-genericdepends on all oflinux-image-$KVERS, linux-modules-extra-$KVERS, linux-firmware, intel-microcode, amd64-microcode, whilelinux-image-awsonly depends onlinux-image-$KVERS, which makes listing dependencies more complicated. It's also unclear whether we actually needlinux-modules-extra-$KVERS, linux-firmware, intel-microcode, amd64-microcodefor our generic kernel as those might only apply for bare-metal deployments.Finally, if we are to remove
linux-$PLATFORM,linux-tools-$PLATFORM,linux-image-$PLATFORMandlinux-headers-$PLATFORMfromdelphix-kernel, we should verify that other packages or system components do not have dependencies on those metapackages being installed.