]> code.ossystems Code Review - openembedded-core.git/commit
package.bbclass: hash equivalency and pr service
authorMark Hatle <mark.hatle@kernel.crashing.org>
Wed, 2 Sep 2020 15:33:22 +0000 (10:33 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 3 Sep 2020 08:44:00 +0000 (09:44 +0100)
commit2e32f37b0e4abc438c8f60e673cd18a5cc110768
tree0fda6cadbeb0f4732ff9a53412f1eb76e6a0f6e5
parent12af8abebf0a1b8bd5689f613497f45a7778ab2d
package.bbclass: hash equivalency and pr service

When the PR service is enabled a number of small changes may happen
to variables.  In the do_package step a call to package_get_auto_pr
will end up setting PRAUTO and modifying PKGV (if AUTOINC is there).

PRAUTO is then used by EXTENDPRAUTO, which is then used to generate
PKGR.

Since this behavior typically happens BEFORE the BB_UNIHASH is
calculated for do_package, we need a way to defer the expansion
until after we have the unihash value.

Writing out the pkgdata files w/o AUTOPR and PKGV (AUTOINC) expanded
to placeholder values is the easiest way to deal with this.  All other
variables are expanded as expected.

In the next task, typically do_packagedata, we will then use the
UNIHASH from the do_package to get the PR (AUTOPR) as well as
generate the AUTOINC replacement value (now PRSERV_PV_AUTOINC).

The do_packagedata then translates the placeholders to the final values
when copying the data from pkgdata to pkgdata-pdata-input.

Also update the prservice test case.  With unihash, just changing the
do_package (via a _append) will not change the PR.  So write the date
to a specific file that is incorporated into the unihash to ensure it
is always different for the test.  Various assert messages were also
updated to make it easier to figure out where/why a problem occured.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package.bbclass
meta/conf/bitbake.conf
meta/lib/oeqa/selftest/cases/prservice.py