On Wed, 2026-07-08 at 15:26 +0530, Ashish Mishra via lists.openembedded.org wrote: > This patch hardcode the emit_pkgdata to run last and adds a new hook > PACKAGE_POSTPROCESS_FUNCS to package.bbclass which > > PACKAGE_PREPROCESS_FUNCS comes in picture before the per-package file > split, > so at that point the final file lists are not yet available. > There is no existing hook that fires after the split with the ability > to still > modify package scripts postinst > > One of use case driving this patch is SELinux context labeling > There can be other user defined usage if the hook is available > > Signed-off-by: AshishKumar Mishra <[email protected]> > --- > meta/classes-global/package.bbclass | 16 +++++++++++++--- > 1 file changed, 13 insertions(+), 3 deletions(-) > > diff --git a/meta/classes-global/package.bbclass b/meta/classes- > global/package.bbclass > index 30accaeaa9..c53b5c2d3d 100644 > --- a/meta/classes-global/package.bbclass > +++ b/meta/classes-global/package.bbclass > @@ -460,6 +460,7 @@ def gen_packagevar(d, pkgvars="PACKAGEVARS"): > > # Functions for setting up PKGD > PACKAGE_PREPROCESS_FUNCS ?= "" > +PACKAGE_POSTPROCESS_FUNCS ?= "" > # Functions which split PKGD up into separate packages > PACKAGESPLITFUNCS ?= " \ > package_do_split_locales \ > @@ -472,8 +473,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 > @@ -564,14 +564,24 @@ python do_package () { > for file in files: > pkgfiles[pkg].append(walkroot + os.sep + file) > > + # > + # We want emit_pkgdata to run last, after everything > + # This is becuase any layer which adds its custom function > + # to PACKAGEFUNCS using += would get executed after > emit_pkgdata > + # > for f in (d.getVar('PACKAGEFUNCS') or '').split(): > bb.build.exec_func(f, d) > > + for f in (d.getVar('PACKAGE_POSTPROCESS_FUNCS') or '').split(): > + bb.build.exec_func(f, d) > + > + bb.build.exec_func("emit_pkgdata", d) > + > oe.qa.exit_if_errors(d)
Just put emit_pkgdata here and then you don't need PACKAGE_POSTPROCESS_FUNCS at all, you can just append to PACAGEFUNCS? Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#240457): https://lists.openembedded.org/g/openembedded-core/message/240457 Mute This Topic: https://lists.openembedded.org/mt/120170952/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
