# When inherited by an image recipe, this class provide simple way to # put configuration files into rootfs. ROOTFS_POSTPROCESS_COMMAND_append = "install_google_overlay ; " python install_google_overlay() { """Fetch and install overlays into rootfs Fetch overlays from GOOGLE_OVERLAY_SRC_URI and copy the files inside the folders listed in GOOGLE_OVERLAY_ROOT_DIRS to rootfs. GOOGLE_OVERLAY_ROOT_DIRS contains only names of folders, no path. GOOGLE_OVERLAY_SRC_URI must be used to get dirs in GOOGLE_OVERLAY_ROOT_DIRS imported to the workdir, it's the same as SRC_URI, so it's possible to use distant repository, tarballs, etc. """ workdir = d.getVar('WORKDIR', True) rootfs = d.getVar('IMAGE_ROOTFS', True) srcs = (d.getVar("GOOGLE_OVERLAY_SRC_URI", True) or "").split() overlay_root_dirs = (d.getVar('GOOGLE_OVERLAY_ROOT_DIRS', True) or '').split() fetcher = bb.fetch2.Fetch(srcs, d) fetcher.download() fetcher.unpack(workdir) for i in range(len(overlay_root_dirs)): fullpath = os.path.join(workdir, overlay_root_dirs[i]) if not os.path.isdir(fullpath): bb.fatal(fullpath + " : directory not found, please check your"\ " GOOGLE_OVERLAY_ROOT_DIRS and GOOGLE_OVERLAY_SRC_URI variables.") break os.system("cp -dr " + os.path.join(fullpath, "*") + " " + rootfs) } do_rootfs[vardeps] += "GOOGLE_OVERLAY_ROOT_DIRS GOOGLE_OVERLAY_SRC_URI" # Copied from https://patchwork.openembedded.org/patch/138100/