diff options
Diffstat (limited to 'recipes/freeze/files/unfreeze')
-rw-r--r-- | recipes/freeze/files/unfreeze | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/recipes/freeze/files/unfreeze b/recipes/freeze/files/unfreeze new file mode 100644 index 0000000000..5be1459c3c --- /dev/null +++ b/recipes/freeze/files/unfreeze @@ -0,0 +1,65 @@ +#!/bin/sh +# +# This script must be executed with the following environment variables +# and arguments: +# +# export FROZEN_DIR=<place to write conf files> +# export DISTRO=<distro being frozen> +# unfreeze +# +# If not given or empty FROZEN_DIR defaults to the directory on BBPATH containing +# conf/local.conf. +# +# The output of the script consists of two files: +# $FROZEN_DIR/$DISTRO-bbfiles.conf +# empty +# +# $FROZEN_DIR/$DISTRO-packages.conf +# empty +# +# Check the arguments. +test -n "$DISTRO" || { + echo "FATAL: unfreeze: set \$DISTRO to the name of the distro to freeze" >&2 + exit 1 +} +if test -n "$FROZEN_DIR" -a -d "$FROZEN_DIR" +then + : # ok, given a directory +else + if test -n "$BBPATH" + then + FROZEN_DIR="" + for d in ${BBPATH//:/ } + do + if test -r "$d/conf/local.conf" -o -r "$d/conf/auto.conf" + then + FROZEN_DIR="$d/conf" + break + elif test -z "$FROZEN_DIR" -a -d "$d" + then + # default to the first existing directory on + # the path + FROZEN_DIR="$d" + fi + done + fi + if test -n "$FROZEN_DIR" + then + echo "NOTE: unfreeze: \$FROZEN_DIR=\"$FROZEN_DIR\"" >&2 + echo "NOTE: (defaulted from \$BBPATH=\"$BBPATH\")" >&2 + else + echo "FATAL: unfreeze: set \$FROZEN_DIR to the directory for the new .conf files" >&2 + exit 1 + fi +fi +# +# do it +# +# the simple bb file list (package/bbfile.bb) +out="$FROZEN_DIR/$DISTRO-bbfiles.conf" +echo '# automatically generated by bitbake unfreeze' >"$out" +# +# the package directories list (package) +out="$FROZEN_DIR/$DISTRO-packages.conf" +echo '# automatically generated by bitbake unfreeze' >"$out" +echo 'BBFILES := "${PKGDIR}/packages/*/*.bb"' >>"$out" |