root/build-data/build_avoidance_source
Scott Little 9b77e2e1b3 Build avoidance fixes
1) Build avoidance fails on a clean workspace because directory
$MY_WORKSPACE/tmp doesn't exist when mktemp needs to
create a forth subdir under that path.

Add a 'mkdir -p $MY_WORKSPACE/tmp' to ensure it exists
prior to mktemp.

2) Failed to rebuild kmods after a kernel change and
building with build-avoidance enabled.  The problem was
a missing dependency cache that would have listed
the kmods as having dependencies on the kernel.
Reusing kmods from a prior build in conjunction with
a rebuilt kernel results int load with unusable kmods
due to a key mismatch.

Add the dependancy-cache to the list of artifacts to
syncronize as part of build avoidance.  A primed
dependency cache will allow build-pkgs to determine
that kmods must be rebuilt when the kernel has changed.

3) Make sure $MY_WORKSPACE/$BUILD_TYPE/repo
symlink exists after a build avoidance build.
If no packages require a rebuild, it was missing.

4) Fix an error message that was puzzling while debugging
the above issues.

Closes-Bug: 1864110
Change-Id: Ia912b2e3e110efbe69004d7978109ebb089d684b
Signed-off-by: Scott Little <scott.little@windriver.com>
2020-02-21 16:07:05 -05:00

24 lines
730 B
Plaintext

#
# Copyright (c) 2018 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
#
# What files and directories need to be copied
#
BUILD_AVOIDANCE_SRPM_DIRECTORIES="inputs srpm_assemble rpmbuild/SRPMS rpmbuild/SOURCES"
BUILD_AVOIDANCE_SRPM_FILES=""
BUILD_AVOIDANCE_RPM_DIRECTORIES="results rpmbuild/RPMS rpmbuild/SPECS repo/cgcs-tis-repo/dependancy-cache"
BUILD_AVOIDANCE_RPM_FILES=".platform_release"
#
# Copy the lines below to $MY_REPO/local-build-data/build_avoidance_source,
# then uncomment and fill in the values giving the location of your local reference build.
#
# BUILD_AVOIDANCE_USR="jenkins"
# BUILD_AVOIDANCE_HOST="machine.corp.com"
# BUILD_AVOIDANCE_DIR="/localdisk/loadbuild/jenkins/StarlingX_Build"