poky/meta/classes/rm_work_and_downloads.bbclass
Richard Purdie ff525695f2 classes: Add SPDX license identifiers
As stated in our top level license files, the license is MIT unless
otherwise stated. Add SPDX identifers accordingly. Replace older
license statementa with the standardised syntax. Also drop "All
Rights Reserved" expression as it isn't used now, doesn't mean anything
and is confusing.

(From OE-Core rev: 081a391fe09a21265881e39a2a496e4e10b4f80b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-12 11:58:01 +01:00

33 lines
1.2 KiB
Plaintext

# Author: Patrick Ohly <patrick.ohly@intel.com>
# Copyright: Copyright (C) 2015 Intel Corporation
#
# SPDX-License-Identifier: MIT
# This class is used like rm_work:
# INHERIT += "rm_work_and_downloads"
#
# In addition to removing local build directories of a recipe, it also
# removes the downloaded source. This is achieved by making the DL_DIR
# recipe-specific. While reducing disk usage, it increases network usage (for
# example, compiling the same source for target and host implies downloading
# the source twice).
#
# Because the "do_fetch" task does not get re-run after removing the downloaded
# sources, this class is also not suitable for incremental builds.
#
# Where it works well is in well-connected build environments with limited
# disk space (like TravisCI).
inherit rm_work
# This would ensure that the existing do_rm_work() removes the downloads,
# but does not work because some recipes have a circular dependency between
# WORKDIR and DL_DIR (via ${SRCPV}?).
# DL_DIR = "${WORKDIR}/downloads"
# Instead go up one level and remove ourself.
DL_DIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/downloads"
do_rm_work:append () {
rm -rf ${DL_DIR}
}