diff options
author | Luotao Fu <l.fu@pengutronix.de> | 2010-02-24 17:33:34 +0100 |
---|---|---|
committer | Luotao Fu <l.fu@pengutronix.de> | 2010-02-24 17:36:47 +0100 |
commit | 4d528d5624bc0984a5cd6e29db743bb7424a9967 (patch) | |
tree | 230f8e6297fab517d51d4b0519e7073dd565c2b7 /tests | |
parent | 292ab1f265be2d15855821b2f5a7747b6331066c (diff) | |
download | ptxdist-4d528d5624bc0984a5cd6e29db743bb7424a9967.tar.gz ptxdist-4d528d5624bc0984a5cd6e29db743bb7424a9967.tar.xz |
[ptxdist] add barebox environment directory
we now no longer search for barebox environment in u-boot-env in BSP. Instead we
have our own environment directory called barebox-env.
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/make_barebox_env | 29 | ||||
-rwxr-xr-x | tests/setenv | 51 |
2 files changed, 57 insertions, 23 deletions
diff --git a/tests/make_barebox_env b/tests/make_barebox_env index b362dd074..7af778891 100755 --- a/tests/make_barebox_env +++ b/tests/make_barebox_env @@ -1,18 +1,37 @@ #!/bin/bash set -e -PTXDIST_SETENV_U_BOOT_V2_ENV="${1}" -ENVTMPDIR="$(mktemp -d "${PTXDIST_TEMPDIR}/uboot_v2_env.XXXXXX")" +PTXDIST_SETENV_BAREBOX_ENV="${1}" +ENVTMPDIR="$(mktemp -d "${PTXDIST_TEMPDIR}/barebox_env.XXXXXX")" -tar -C "${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env/" -c . \ +#source and export variables, so we can access them later with awk. +set -a +. "${PTXDIST_BOARDSETUP}" +set +a + +CONFFILE="${PTXDIST_PLATFORMCONFIGDIR}/barebox-env/config${PTXDIST_PLATFORMSUFFIX}" +if [ ! -r "${CONFFILE}.in" ]; then + if [ -r "`dirname "${CONFFILE}"`/config.in" ]; then + CONFFILE="`dirname "${CONFFILE}"`/config" + else + echo "Config file for barebox environment is missing!" >&2 + exit 1 + fi +fi + +#Replace @magics@ with PTXCONF-variables +#FIXME: Warn if variable is empty? +awk 'match($0, "@[A-Z0-9_]+@") { var=substr($0,RSTART+1,RLENGTH-2); gsub("@"var"@", ENVIRON[var]); } {print} ' "${CONFFILE}".in >"${CONFFILE}" + +tar -C "${PTXDIST_PLATFORMCONFIGDIR}/barebox-env/" -c . \ --exclude .svn \ --exclude .pc \ --exclude .git \ - --exclude "${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env/config.in" \ + --exclude "${PTXDIST_PLATFORMCONFIGDIR}/barebox-env/config.in" \ | tar -C "${ENVTMPDIR}" -x ${PTXDIST_SYSROOT_HOST}/bin/bareboxenv -s "${ENVTMPDIR}" "${IMAGEDIR}/barebox-environment" -cp "${IMAGEDIR}/barebox-environment" "${PTXDIST_SETENV_U_BOOT_V2_ENV}" +cp "${IMAGEDIR}/barebox-environment" "${PTXDIST_SETENV_BAREBOX_ENV}" rm -rf "${ENVTMPDIR}" diff --git a/tests/setenv b/tests/setenv index e0a8e1757..450860390 100755 --- a/tests/setenv +++ b/tests/setenv @@ -5,28 +5,43 @@ if [ ! -e "${PTXDIST_BOARDSETUP}" ]; then exit 1 fi -CONFFILE="${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env/config${PTXDIST_PLATFORMSUFFIX}" -if [ ! -r "${CONFFILE}.in" ]; then - if [ -r "`dirname "${CONFFILE}"`/config.in" ]; then - CONFFILE="`dirname "${CONFFILE}"`/config" - else - echo "Config file for uboot environment is missing!" >&2 - exit 1 - fi -fi - -#source and export variables, so we can access them later with awk. set -a . "${PTXDIST_BOARDSETUP}" set +a -#Replace @magics@ with PTXCONF-variables -#FIXME: Warn if variable is empty? -awk 'match($0, "@[A-Z0-9_]+@") { var=substr($0,RSTART+1,RLENGTH-2); gsub("@"var"@", ENVIRON[var]); } {print} ' "${CONFFILE}".in >"${CONFFILE}" +UBOOT_ENVDIR="${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env" +BAREBOX_ENVDIR="${PTXDIST_PLATFORMCONFIGDIR}/barebox-env" + +if [ -d ${UBOOT_ENVDIR} -a -r ${UBOOT_ENVDIR} ]; then + CONFFILE="${UBOOT_ENVDIR}/config${PTXDIST_PLATFORMSUFFIX}" + if [ ! -r "${CONFFILE}.in" ]; then + if [ -r "`dirname "${CONFFILE}"`/config.in" ]; then + CONFFILE="`dirname "${CONFFILE}"`/config" + else + echo "Direcotry for U-Boot environment found, but config file is missing!" >&2 + exit 1 + fi + fi + awk 'match($0, "@[A-Z0-9_]+@") { var=substr($0,RSTART+1,RLENGTH-2); gsub("@"var"@", ENVIRON[var]); } {print} ' "${CONFFILE}".in >"${CONFFILE}" +fi + +if [ -d "${BAREBOX_ENVDIR}" -a -r "${BAREBOX_ENVDIR}" -a -z "${CONFFILE}" ]; then + # Neith u-boot-v2 nor barebox acutally need CONFFILE while calling + # kermit setenv function. However U-Boot V1 need this. So we have to + # pass this information to the kwrapper. + # barebox parses its conffile in make_barebox_env separately. give a + # dummy here to make sure that setenv can parse the parameters correctly + CONFFILE="NULL"; +fi + +if [ -z "${CONFFILE}" ]; then + echo "No environment directory found!" >&2 + exit 1 +fi -PTXDIST_SETENV_U_BOOT_V2_ENV="$(mktemp "${PTXCONF_BOARDSETUP_TFTP_PATH}/u-boot-v2-environment.XXXXXX")" -chmod 644 "${PTXDIST_SETENV_U_BOOT_V2_ENV}" +PTXDIST_SETENV_ENV_IMAGE="$(mktemp "${PTXCONF_BOARDSETUP_TFTP_PATH}/environment_image.XXXXXX")" +chmod 644 "${PTXDIST_SETENV_ENV_IMAGE}" -"${PTXDIST_TOPDIR}/tests/kwrapper" setenv "${CONFFILE}" "${PTXDIST_SETENV_U_BOOT_V2_ENV}" +"${PTXDIST_TOPDIR}/tests/kwrapper" setenv "${CONFFILE}" "${PTXDIST_SETENV_ENV_IMAGE}" -rm -rf "${PTXDIST_SETENV_U_BOOT_V2_ENV}" +rm -rf "${PTXDIST_SETENV_ENV_IMAGE}" |