On Mon, Dec 9, 2013 at 8:39 PM, Michael Gulick <mgul...@gmail.com> wrote: > > I'm looking for a way to override the default kernel package versions > generated by make-kpkg. With 3.0+ kernels, the kernel sublevel (as in > VERSION.PATCHLEVEL.SUBLEVEL), which is incremented when there are stable > updates for a kernel release, is used to generate the package name. This > produces packages with names like > 'linux-image-3.10.22-mycustomversion_amd64.deb'. Unfortunately this means > you can't upgrade these packages automatically with apt-get because apt-get > thinks this is a new version of the package (instead of just an updated > revision of the existing package version). > > I would like to be able to make packages called > 'linux-image-3.10-myversion_amd64.deb', or > 'linux-image-3.10.0-myversion_amd64.deb', so that these packages can be > automatically upgraded via apt-get and a self-hosted repository. > > I'm building against the upstream vanilla kernel. > > I've tried editing the toplevel Makefile and setting SUBLEVEL = 0. While > this does produce packages with version 3.10.0-something, the generated file > include/generated/uapi/linux/version.h now indicates that the kernel is > actually version 3.10.0 instead of 3.10.22. The stock kernel on wheezy > (3.2.0) seems to have a correct value in version.h regardless of the package > version.
The kernel, unlike other packages, has a version included in its name. For example, util-linux's deb is "util-linux_2.20.1-5.5_amd64.deb" whereas the kernel's deb is "linux-image-3.11-2-amd64_3.11.8-1_amd64.deb". AIUI Debian gets around this by having a "linux-image-amd64" metapackage that depends on "linux-image-3.11-2-amd64_3.11.8-1_amd64.deb". When there's a new version of "linux-image-<version>-amd64" , the version of "linux-image-amd64" is bumped up and depends on it. # aptitude search --disable-columns -F "%c%a%M %p %v %V" linux-image i A linux-image-3.11-2-amd64 3.11.10-1 3.11.10-1 p linux-image-3.11-2-amd64-dbg <none> 3.11.10-1 i linux-image-amd64 3.11+54 3.11+54 p linux-image-amd64-dbg <none> 3.11+54 # # apt-cache show linux-image-amd64 | grep pool Filename: pool/main/l/linux-latest/linux-image-amd64_3.11+54_amd64.deb # # apt-cache show linux-image-3.11-2-amd64 | grep pool Filename: pool/main/l/linux/linux-image-3.11-2-amd64_3.11.10-1_amd64.deb Filename: pool/main/l/linux/linux-image-3.11-2-amd64_3.11.8-1_amd64.deb # # aptitude search --disable-columns -F "%c%a%M %p %v %V" '?reverse-depends(linux-image-amd64)' i A linux-image-3.11-2-amd64 3.11.10-1 3.11.10-1 p linux-image-3.11-2-amd64-dbg <none> 3.11.10-1 # So you could create a "mykernel" package (for example) that plays the same role for your "linux-image-<ver>-myversion". OT: There's one thing that I don't understand. Your kernel package name is "linux-image-<ver>-myversion_amd64.deb" but if you look at a distro kernel deb you'll notice that it has two "_" as above. In that distro kernel deb, "3.11.8-1" is the version of the deb and it's set via "--revision" when using make-kpkg. The make-kpkg revision default is "10.00.Custom". How are you overriding this value and making it nil? Does '--revision ""' do it? More or less OT: kernel-package, and therefore make-kpkg, is considered unmaintained by the kernel maintainers. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAOdo=SzBFiv6N0iq9r5xnF7Uf1zoWHTY7ZPcfKtp=mtc3p3...@mail.gmail.com