Bug 11456

Summary: LINUX_VERSION_EXTENSION cannot contain capital letters for ipk packaging
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Joe Slater <joe.slater>
Component: kernelAssignee: ssg.pg.faceless <ssg_pg>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: Medium CC: alejandro.delcastillo, randy.macleod, ross.burton, sgw, tom.zanussi
Version: 2.4   
Target Milestone: 2.4   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Joe Slater 2017-05-03 23:57:25 UTC
LINUX_VERSION_EXTENSION is now appended to various kernel package names.  It did not used to be.  opkg-build will not accept capital letters or underscores in package names.

To reproduce, change the variable in linux-yocto.inc to include "Yocto" instead of "yocto", specify ipk packaging in local.conf, and build linux-yocto.

This could be considered a regression since the contents of the variable did not used to matter for packaging purposes.

Tests made from poky cloned (master branch) on 2-May-2017.
Comment 1 Saul Wold 2017-05-05 06:23:08 UTC
Confirmed that with a Capitalized letter in the package name that IPK will fail during the package_ipk task, but DEB will not.

Both DEB and IPK will fail with an '_' in the name.

So, we should add a sanity test for at least '_' (and other known symbols) in the package name.

Do we need to fix ipk to accept UpperCase letters in the package name, is that even feasible?
Comment 2 Ross Burton 2017-05-05 09:49:56 UTC
CCing the opkg maintainer.  Alejandreo: why does opkg refuse to build packages with uppercase names? (dpkg and rpm don't care)
Comment 3 Alejandro del Castillo 2017-05-05 15:40:48 UTC
I believe opkg is following debian policy:

"Package names (both source and binary, see Package, Section 5.6.7) must consist only of lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.). They must be at least two characters long and must start with an alphanumeric character." [1]

not sure which tool OE is using for building debian or why it's not following the policy....but the policy kinda make sense to me: it prevents having repos with 2 packages with the same name, but with different capitalization.

[1] https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
Comment 4 Randy MacLeod 2017-05-05 18:46:25 UTC
I'm fine with following the sensible Debian policy. Thanks for the explanation.

The problem we encountered was due to an upper case LINUX_VERSION_EXTENSION as Joe explained.