#!/bin/sh # # This script must be executed with the following environment variables # and arguments: # # export FROZEN_DIR= # export DISTRO= # 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"