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

Mike Looijmans mike.looijmans at topic.nl
Fri Jan 2 09:28:23 UTC 2015


On 01/02/2015 10:24 AM, Mike Looijmans wrote:
> 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.
>
>

Just to be complete, I'm a bit behind on OE, using tag 
"2cc1bd9dd060f5002c2fde7aacba86fe230c12af" currently. Don't think it'd 
make a difference though.


-- 
Mike Looijmans



More information about the Openembedded-core mailing list