diff mbox series

[master] package.bbclass: add PACKAGE_POSTPROCESS_FUNCS hook

Message ID 20260618081020.86040-1-emailaddress.ashish@gmail.com
State Under Review
Headers show
Series [master] package.bbclass: add PACKAGE_POSTPROCESS_FUNCS hook | expand

Commit Message

AshishKumar Mishra June 18, 2026, 8:10 a.m. UTC
From: AshishKumar Mishra <emailaddress.ashish@gmail.com>

This patch adds a new hook point PACKAGE_POSTPROCESS_FUNCS to
package.bbclass, inserted into PACKAGEFUNCS immediately before
emit_pkgdata.

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

The primary use case driving this patch is SELinux context labeling
SELinux labels must be applied on the target via a postinst script
That script must know exactly which files are in the package but this is
only available after the split.
This hook enables a bbclass to auto-generate per-package postinst
scripts containing targeted chcon/restorecon calls
This helps while getting proper selinux context to files if package
is updated on target while incremental update scenarios

There can be other user defined usage if the hook is available
The change is small 2 lines and entirely non-breaking as the variable
defaults to "" so all existing builds are unaffected

Signed-off-by: AshishKumar Mishra <emailaddress.ashish@gmail.com>
---
 meta/classes-global/package.bbclass | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/meta/classes-global/package.bbclass b/meta/classes-global/package.bbclass
index 30accaeaa9..37e4469bc8 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 \
@@ -473,6 +474,7 @@  PACKAGEFUNCS += " \
                 package_do_pkgconfig \
                 read_shlibdeps \
                 package_depchains \
+                ${PACKAGE_POSTPROCESS_FUNCS} \
                 emit_pkgdata"
 
 python do_package () {