1234567891011121314151617181920212223242526272829303132 |
- # 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}
- }
|