[OE-core] How do I change the "Architecture" of a package?

Mike Looijmans mike.looijmans at topic.nl
Fri Jan 2 09:24:14 UTC 2015


On 01/02/2015 10:16 AM, Richard Purdie wrote:
> On Fri, 2015-01-02 at 09:48 +0100, Mike Looijmans wrote:
>> On 12/31/2014 08:13 PM, Mike Looijmans wrote:
>>> On 30-12-2014 18:59, Paul Barker wrote:
>>>> On Tue, Dec 30, 2014 at 04:24:34PM +0100, Mike Looijmans wrote:
>>>>> What if the architecture of a package was accidentally left at its
>>>>> default, but it should have been "all" for example?
>>>>>
>>>>> Just putting "inherit allarch" or simply PACKAGE_ARCH="all" into the
>>>>> recipe is not enough. You get stuck with a "more specific" older
>>>>> version, so that no device wants to upgrade to the newer version
>>>>> that's "all" architecture compatible.
>>>>>
>>>>
>>>> What package manager are you using on the device? If you're using opkg
>>>> it should
>>>> prioritise by version not arch unless the command line option
>>>> '--prefer-arch-to-version' is passed. If you're using opkg and it's
>>>> not doing
>>>> that, let me know and I'll look into it when I get chance to.
>>>
>>> It's opkg.
>>>
>>> But on closer inspection I noticed that the "git" version is also
>>> mysteriously reset to 0, so that the package also gets a lower version
>>> number instead of a higher one. Seems to be the PR server borking things
>>> again or so, I'll have to investigate that next year...
>>
>> Weird, something in OE killed "gitpkgv".
>>
>> in the recipe, I have this:
>>
>> inherit gitpkgv
>> PV = "2.0+git${SRCPV}"
>> PKGV = "2.0+git${GITPKGV}"
>>
>>
>> $ bitbake enigma2-plugin-extensions-autobackup -e | grep PKGV
>>
>> delivers correct information:
>>
>> PKGV="2.0+git68+2e7a1db"
>> GITPKGVTAG="0.0-68-g2e7a1db"
>> GITPKGV="68+2e7a1db"
>>
>>
>> But after building and deploying the package, the version number will
>> eventually end up being this one:
>>
>> 2.0+git5+2e7a1db509-r0.2
>>
>>
>> What in OE is replacing a perfectly good PKGV tag with something
>> completely different bearing no relation whatsoever? Even the number of
>> digits in the git tag differs from the one I put in the recipe!
>>
>> Even if I put some random text into PKGV, it gets replaced.
>
> Did something come from sstate?

Nope, I do a "bitbake -c cleansstate [package]" first.

i've been experimenting for a while now. It appears that whatever I put 
into PKGV gets ignored and replaced with what was in PV.

Here's a recipe where I stubbed the actual building and install phases 
to demonstrate the issue:

(cut here)

DESCRIPTION = "Version numbers are borked"

inherit gitpkgv
PV = "z-pv+${SRCPV}"
PKGV = "z-pkgv+${GITPKGV}"

# Completely random public GIT repo
SRCREV = "${AUTOREV}"
MODULE = "AutoBackup"
SRC_URI = "git://github.com/E2OpenPlugins/e2openplugin-${MODULE}.git"

LICENSE = "GPLv2"
LIC_FILES_CHKSUM = 
"file://../LICENSE.GPLv2;md5=eb723b61539feef013de476e68b5c50a"
SRC_URI_append = " file://LICENSE.GPLv2"

S="${WORKDIR}/git"

do_compile() {
	touch ${B}/helloworld
}

do_install() {
	install -d ${D}${sysconfdir}
	install -m 644 ${B}/helloworld ${D}${sysconfdir}/
}

(EOF)

If I build this package, it ends up getting version 
"z-pv+0+2e7a1db509-r0.1" instead of "z-pkgv+68+2e7a1db509-r0.1" which 
I'd expect.


-- 
Mike Looijmans



More information about the Openembedded-core mailing list