48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
# -------------------------------------------------------------------
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "${SCRIPT_DIR}/setup-paths.sh"
|
|
|
|
# -------------------------------------------------------------------
|
|
|
|
# Sanity checks
|
|
if [ ! -d "${POKY_DIR}" ]; then
|
|
echo "ERROR: poky not found at ${POKY_DIR}"
|
|
return 1 2>/dev/null || exit 1
|
|
fi
|
|
|
|
# Create cache directories
|
|
mkdir -p "${DL_DIR}"
|
|
mkdir -p "${SSTATE_DIR}"
|
|
|
|
# Initialize Yocto build environment
|
|
source "${POKY_DIR}/oe-init-build-env" "${YOCTO_ROOT}/${BUILD_DIR}"
|
|
|
|
# Inject cache paths into local.conf (idempotent)
|
|
CONF_FILE="${BUILDDIR}/conf/local.conf"
|
|
|
|
START_MARKER="# >>> yocto cache (managed) >>>"
|
|
END_MARKER="# <<< yocto cache (managed) <<<"
|
|
|
|
# Remove old managed block if present
|
|
sed -i "/${START_MARKER}/,/${END_MARKER}/d" "${CONF_FILE}"
|
|
|
|
# Append managed block
|
|
cat <<EOF >> "${CONF_FILE}"
|
|
|
|
${START_MARKER}
|
|
DL_DIR = "${DL_DIR}"
|
|
SSTATE_DIR = "${SSTATE_DIR}"
|
|
${END_MARKER}
|
|
EOF
|
|
|
|
|
|
echo
|
|
echo "Yocto environment ready:"
|
|
echo " BUILD_DIR = ${BUILDDIR}"
|
|
echo " DL_DIR = ${DL_DIR}"
|
|
echo " SSTATE_DIR = ${SSTATE_DIR}"
|
|
echo
|