package.bbclass: hardcode emit_pkgdata to run last

Ensure emit_pkgdata runs after all PACKAGEFUNCS to allow layers to
extend packaging behavior.
Layers can now append custom functions via PACKAGEFUNCS += "func_name"
and they will run before emit_pkgdata generates package metadata.

(From OE-Core rev: 358a847c9dfaf56291f9eb5e2f150cae56044c7c)

Signed-off-by: AshishKumar Mishra <emailaddress.ashish@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aa85baff9ebdd3f932811c3b43d1918c38373cb9)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
AshishKumar Mishra
2026-07-14 10:30:03 +05:30
committed by Paul Barker
parent 32067f2db1
commit 337c659854

View File

@@ -468,8 +468,7 @@ PACKAGEFUNCS += " \
package_do_shlibs \
package_do_pkgconfig \
read_shlibdeps \
package_depchains \
emit_pkgdata"
package_depchains"
python do_package () {
# Change the following version to cause sstate to invalidate the package
@@ -561,9 +560,13 @@ python do_package () {
for file in files:
pkgfiles[pkg].append(walkroot + os.sep + file)
# We want emit_pkgdata to run last, after everything
for f in (d.getVar('PACKAGEFUNCS') or '').split():
bb.build.exec_func(f, d)
bb.build.exec_func("emit_pkgdata", d)
oe.qa.exit_if_errors(d)
}