poky/scripts/postinst-intercepts
Richard Purdie a2db4fa127 base/bitbake.conf: Enable pseudo path filtering
This is a pretty big change to the way pseudo operates when used in OpenEmbedded.
Normally, pseudo monitors and logs (adds to its database) any file created or
modified whilst in a fakeroot environment. There are large numbers of files
we simply don't care about the permissions of whilst in that fakeroot context,
for example ${S}, ${B}, ${T}, ${SSTATE_DIR}, the central sstate control
directories,

This change uses new functionality in pseudo to ignore these directory trees,
resulting in a cleaner database with less chance of "stray" mismatches if files
are modified outside pseudo context. It also should reduce some overhead from
pseudo as the interprocess round trip to the server is avoided.

There is a possible complication where some existing recipe may break, for
example, we found a recipe which was writing to "${B}/install" for
"make install" in do_install and since we listed ${B} as not to be tracked,
there were errors trying to chown root for files in this location.

This patch fixes a few corner cases in OE-Core when used with this new
ignore list:

* The archiver directory matched a "${WORKDIR}/deploy*" pattern so was renamed
  to something else since that directory does need its root permissions
* The ${S} and ${B} ignoring is conditional on them being different to ${WORKDIR}
* package_write_* task output (the debs/rpms/ipks) are now owned by the build
  user so we don't want the file ownership information in the hashequiv outhash
  calculation even if they are built under pseudo.
* The fontcache postinstall intercept is run under qemu outside of pseudo context
  so delete files it may delete up front where pseudo can see this.
* SSTATE_DIR is in PSEUDO_PATHS_IGNORE, which is in FAKEROOTENV which is cached
  by bitbake. We therefore need to trigger reparsing if this changes, which means
  SSTATE_DIR can be in BB_HASHBASE_WHITELIST but not BB_HASHCONFIG_WHITELIST.
  Rework the variables to handle this. This otherwise breaks some of our sstate
  tests in oe-selftest.
* Ignore the temp directory wic uses for rebuilding rootfs.

(From OE-Core rev: ad8f5532ffaead9a5ad13e1034fe9e5e1b7979f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
..
delay_to_first_boot meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
postinst_intercept meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
update_desktop_database mime-xdg.bbclass: initial add 2020-01-19 13:24:38 +00:00
update_font_cache base/bitbake.conf: Enable pseudo path filtering 2020-10-07 11:18:38 +01:00
update_gio_module_cache meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
update_gtk_icon_cache gtk-icon-cache: rename intercept to update_gtk_icon_cache 2019-06-27 12:20:36 +01:00
update_gtk_immodules_cache meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
update_mime_database mime.bbclass: rework 2020-01-19 13:24:38 +00:00
update_pixbuf_cache meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
update_udev_hwdb systemd: Reinstate systemd-hwdb-update.service 2020-03-31 13:58:01 +01:00