Public bug reported:

Binary package hint: kernel-package

I use make-kpkg for compiling my kernels and building DEB packages,
which I can then transfer over to other machines. I'm using upstream
sources for this (e.g. the torvalds git tree).

The thing is that there is a script "scripts/setlocalversion" which
might generate output like a simple "+" in cases the source differs from
the upstream version (e.g. self included patches aso.). If that is the
case the generated version string looks like "2.6.35-rc4-amd64+" if the
appended version string is just "-amd64".

This was not a problem before but now I get the following situation:
when make-kpkg runs it replaces the placeholders inside the
debian/control file with the version string unmodified and so the
additional "+" sign don't make it into the "debian/control" file and one
will get the same error as in issue #58307, comment #7:

dpkg-gencontrol -DArchitecture=amd64 -isp            \
                        -plinux-image-2.6.35-rc4-amd64+ 
-P/srv/dev/kernel/torvalds/linux-2.6/debian/linux-image-2.6.35-rc4-amd64+/
dpkg-gencontrol: error: package linux-image-2.6.35-rc4-amd64+ not in control 
info
make[2]: *** [debian/stamp/binary/linux-image-2.6.35-rc4-amd64+] Error 255
make[2]: Leaving directory `/srv/dev/kernel/torvalds/linux-2.6'
make[1]: *** [debian/stamp/binary/pre-linux-image-2.6.35-rc4-amd64+] Error 2
make[1]: Leaving directory `/srv/dev/kernel/torvalds/linux-2.6'
make: *** [kernel-image] Error 2


The output explains this:
...
sed         -e 's/=V/2.6.35-rc4-amd64/g'  \
                -e 's/=D/2.6.35-rc4-amd64+-10.00.Custom/g'         -e 
's/=A/amd64/g'  \
                -e 's/=SA//g'  \
                -e 's/=I//g'                                \
                -e 's/=CV/2.6/g'                            \
                -e 's/=M/Unknown Kernel Package Maintainer 
<unkn...@unconfigured.in.etc.kernel-pkg.conf>/g'                         \
                -e 's/=ST/linux/g'      -e 's/=B/x86_64/g'    \
                  /usr/share/kernel-package/Control > debian/control
...

And as the placeholder for the package includes "V": "Package: =ST-
image-=V=SA" it surely can't make it in. So in the end the version
string that is generated into "include/config/kernel.release":

echo "2.6.35-rc4-amd64$(/bin/bash scripts/setlocalversion
/srv/dev/kernel/torvalds/linux-2.6)" > include/config/kernel.release

...does not match the variable "version" that is used in /usr/share
/kernel-package/ruleset/minimal.mk:

        test -f debian/control || sed         -e 's/=V/$(version)/g'  \

** Affects: kernel-package (Ubuntu)
     Importance: Undecided
         Status: New

-- 
No DEB packages when setlocalversion echos non-empty
https://bugs.launchpad.net/bugs/602405
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to