Tested in a downstream project. Works fine. Tested-by: Vijai Kumar K On Thursday, October 8, 2020 at 10:43:37 PM UTC+5:30 Jan Kiszka wrote: > From: Jan Kiszka > > In almost all cases, the packages built by a recipe wasn't used yet and > will only be requested down the dependency chain. Then it is fine to > purge it from the buildchroots during partial rebuilds. > > There are corner cases, though, when the packages will never be used in > the buildchroots, only in the target filesystem. That can affect core > packages rebuilt for the target but also used in their upstream variant > in the buildchroots. While buildchroot installation can be controlled > via preferences, purging can't this way. Add a variable that allows to > control it without having to overwrite deb_clean. > > Signed-off-by: Jan Kiszka > --- > meta/classes/dpkg-base.bbclass | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/meta/classes/dpkg-base.bbclass > b/meta/classes/dpkg-base.bbclass > index 7e12ab0a..01c6eb65 100644 > --- a/meta/classes/dpkg-base.bbclass > +++ b/meta/classes/dpkg-base.bbclass > @@ -154,6 +154,8 @@ python do_dpkg_build() { > > addtask dpkg_build before do_build > > +KEEP_INSTALLED_ON_CLEAN ?= "0" > + > CLEANFUNCS += "deb_clean" > > deb_clean() { > @@ -162,6 +164,9 @@ deb_clean() { > for d in ${DEBS}; do > repo_del_package "${REPO_ISAR_DIR}"/"${DISTRO}" \ > "${REPO_ISAR_DB_DIR}"/"${DISTRO}" "${DEBDISTRONAME}" "${d}" > + if [ "${KEEP_INSTALLED_ON_CLEAN}" = "1" ]; then > + continue; > + fi > package=$(basename "${d}") > package_remove="/usr/bin/apt-get remove -y ${package%%_*}" > sudo -E chroot ${BUILDCHROOT_DIR} ${package_remove} || true > -- > 2.26.2 >