[OE-core] hash generation/PR service problem with xuser-account and other packages

Richard Purdie richard.purdie at linuxfoundation.org
Tue Sep 23 16:16:51 UTC 2014


On Tue, 2014-09-23 at 16:51 +0200, Steffen Sledz wrote:
> Hi Richard, thanx for this detailled explanation. It is another step on my way to understand all this. ;-)
> 
> > The other recipes will need investigating since I doubt its this issue
> > for them.
> 
> Is there someone who can do this work in a similar brightening way Richard did?

I had a look at run-postinsts:

MACHINE=qemux86 bitbake run-postinsts
MACHINE=qemuarm bitbake run-postinsts

ls tmp/stamps/all-poky-linux/run-postinsts/

Hmm, two different sigdata files for do_package.

bitbake-diffsigs tmp/stamps/all-poky-linux/run-postinsts/1.0-r9.do_package.sigdata.*
(assumes only two sigdata files there, idea is to compare them)

Difference is the OVERRIDES variable. We therefore dump one of the files:

bitbake-diffsigs tmp/stamps/all-poky-linux/run-postinsts/1.0-r9.do_package.sigdata.X | grep OVERRIDES

and see that OVERRIDES is depended on in two places:

List of dependencies for variable systemd_populate_packages is set(['systemd_prerm', 'D', 'exec_prefix', 'OVERRIDES', 'sysconfdir', 'SYSTEMD_PACKAGES', 'systemd_postinst', 'nonarch_base_libdir', 'PACKAGES'])
List of dependencies for variable populate_packages_updatercd is set(['D', 'updatercd_postrm', 'OVERRIDES', 'INITSCRIPT_NAME', 'INHIBIT_UPDATERCD_BBCLASS', 'MLPREFIX', 'updatercd_postinst', 'updatercd_preinst', 'updatercd_prerm', 'INIT_D_DIR', 'PACKAGES', 'INITSCRIPT_PACKAGES', 'UPDATERCPN'])

So the patch to fix this is:

diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
index a6ad723..708ba89 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes/systemd.bbclass
@@ -55,6 +55,8 @@ fi
 
 
 systemd_populate_packages[vardeps] += "systemd_prerm systemd_postinst"
+systemd_populate_packages[vardepsexclude] += "OVERRIDES"
+
 
 python systemd_populate_packages() {
     if not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 3c5414b..bc1aa7d 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -72,6 +72,7 @@ PACKAGESPLITFUNCS_prepend = "populate_packages_updatercd "
 PACKAGESPLITFUNCS_remove_class-nativesdk = "populate_packages_updatercd "
 
 populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_preinst updatercd_postinst"
+populate_packages_updatercd[vardepsexclude] += "OVERRIDES"
 
 python populate_packages_updatercd () {
     def update_rcd_auto_depend(pkg):


since OVERRIDES isn't a needed dependency here, its effect is all that matters, not its contents.

Cheers,

Richard











More information about the Openembedded-core mailing list