init
This commit is contained in:
47
scripts/setup-env.sh
Executable file
47
scripts/setup-env.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user