summaryrefslogtreecommitdiff
path: root/recipes/freeze/files/unfreeze
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/freeze/files/unfreeze')
-rw-r--r--recipes/freeze/files/unfreeze65
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"