summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/freeze.conf24
-rw-r--r--conf/distro/openslug-packages.conf150
-rw-r--r--conf/distro/openslug.conf3
-rw-r--r--conf/distro/unslung.conf3
-rw-r--r--packages/freeze/.mtn2git_empty0
-rw-r--r--packages/freeze/files/.mtn2git_empty0
-rw-r--r--packages/freeze/files/freeze200
-rw-r--r--packages/freeze/files/unfreeze64
-rw-r--r--packages/freeze/freeze.bb53
-rw-r--r--packages/freeze/unfreeze.bb42
-rw-r--r--packages/meta/package-index.bb2
11 files changed, 540 insertions, 1 deletions
diff --git a/conf/distro/freeze.conf b/conf/distro/freeze.conf
new file mode 100644
index 0000000000..a51e40f8d6
--- /dev/null
+++ b/conf/distro/freeze.conf
@@ -0,0 +1,24 @@
+# general configuration file for freezing a distribution
+#
+# If freeze.conf is included (include distro/freeze.conf) in the
+# distro conf file it will define BBFILES from the information in
+# ${DISTRO}-bbfiles.conf or ${DISTRO}-package-dirs.conf (whichever
+# exists in that order of preference.)
+#
+# NOTE that these conf files use ${PKGDIR} and therefore that
+# variable must be defined before this file is included.
+#
+# First pull in the frozen definitions (if they exist) The multiple
+# includes allow the frozen file to be stored alongside local.conf
+# and in the conf/distro directory - the former take precedence over
+# the latter.
+PKGDIR ?= "${TOPDIR}/openembedded"
+FROZEN_DIR ?= "/non/-existent/-directory/-for/-security"
+
+include conf/distro/${DISTRO}-packages.conf
+include conf/${DISTRO}-packages.conf
+include ${FROZEN_DIR}/${DISTRO}-packages.conf
+
+include conf/distro/${DISTRO}-bbfiles.conf
+include conf/${DISTRO}-bbfiles.conf
+include ${FROZEN_DIR}/${DISTRO}-bbfiles.conf
diff --git a/conf/distro/openslug-packages.conf b/conf/distro/openslug-packages.conf
new file mode 100644
index 0000000000..b2505744ab
--- /dev/null
+++ b/conf/distro/openslug-packages.conf
@@ -0,0 +1,150 @@
+# automatically generated by bitbake freeze
+BBFILES := "\
+${PKGDIR}/packages/audiofile/*.bb \
+${PKGDIR}/packages/autoconf/*.bb \
+${PKGDIR}/packages/automake/*.bb \
+${PKGDIR}/packages/base-files/*.bb \
+${PKGDIR}/packages/base-passwd/*.bb \
+${PKGDIR}/packages/bash/*.bb \
+${PKGDIR}/packages/bind/*.bb \
+${PKGDIR}/packages/binutils/*.bb \
+${PKGDIR}/packages/bison/*.bb \
+${PKGDIR}/packages/bluez-libs/*.bb \
+${PKGDIR}/packages/bluez-utils/*.bb \
+${PKGDIR}/packages/boost/*.bb \
+${PKGDIR}/packages/bridge-utils/*.bb \
+${PKGDIR}/packages/busybox/*.bb \
+${PKGDIR}/packages/bzip2/*.bb \
+${PKGDIR}/packages/coreutils/*.bb \
+${PKGDIR}/packages/cpio/*.bb \
+${PKGDIR}/packages/cron/*.bb \
+${PKGDIR}/packages/cvs/*.bb \
+${PKGDIR}/packages/db/*.bb \
+${PKGDIR}/packages/devio/*.bb \
+${PKGDIR}/packages/diffutils/*.bb \
+${PKGDIR}/packages/dnsmasq/*.bb \
+${PKGDIR}/packages/dropbear/*.bb \
+${PKGDIR}/packages/e2fsprogs/*.bb \
+${PKGDIR}/packages/expat/*.bb \
+${PKGDIR}/packages/fakeroot/*.bb \
+${PKGDIR}/packages/findutils/*.bb \
+${PKGDIR}/packages/flac/*.bb \
+${PKGDIR}/packages/flex/*.bb \
+${PKGDIR}/packages/freeze/*.bb \
+${PKGDIR}/packages/ftpd-topfield/*.bb \
+${PKGDIR}/packages/gawk/*.bb \
+${PKGDIR}/packages/gcc/*.bb \
+${PKGDIR}/packages/gdb/*.bb \
+${PKGDIR}/packages/gdbm/*.bb \
+${PKGDIR}/packages/gettext/*.bb \
+${PKGDIR}/packages/glib-2.0/*.bb \
+${PKGDIR}/packages/glibc/*.bb \
+${PKGDIR}/packages/gnu-config/*.bb \
+${PKGDIR}/packages/gphoto2/*.bb \
+${PKGDIR}/packages/grep/*.bb \
+${PKGDIR}/packages/gtk-doc/*.bb \
+${PKGDIR}/packages/gzip/*.bb \
+${PKGDIR}/packages/hotplug-ng/*.bb \
+${PKGDIR}/packages/initscripts/*.bb \
+${PKGDIR}/packages/install/*.bb \
+${PKGDIR}/packages/ipkg-utils/*.bb \
+${PKGDIR}/packages/ipkg/*.bb \
+${PKGDIR}/packages/ixp425-eth/*.bb \
+${PKGDIR}/packages/ixp4xx/*.bb \
+${PKGDIR}/packages/jpeg/*.bb \
+${PKGDIR}/packages/less/*.bb \
+${PKGDIR}/packages/libaal/*.bb \
+${PKGDIR}/packages/libao/*.bb \
+${PKGDIR}/packages/libexif/*.bb \
+${PKGDIR}/packages/libgphoto2/*.bb \
+${PKGDIR}/packages/libid3tag/*.bb \
+${PKGDIR}/packages/libmad/*.bb \
+${PKGDIR}/packages/libmikmod/*.bb \
+${PKGDIR}/packages/libogg/*.bb \
+${PKGDIR}/packages/libpcap/*.bb \
+${PKGDIR}/packages/libtool/*.bb \
+${PKGDIR}/packages/libusb/*.bb \
+${PKGDIR}/packages/libvorbis/*.bb \
+${PKGDIR}/packages/libxml/*.bb \
+${PKGDIR}/packages/linux-libc-headers/*.bb \
+${PKGDIR}/packages/linux/*.bb \
+${PKGDIR}/packages/lrzsz/*.bb \
+${PKGDIR}/packages/lsof/*.bb \
+${PKGDIR}/packages/lzo/*.bb \
+${PKGDIR}/packages/m4/*.bb \
+${PKGDIR}/packages/make/*.bb \
+${PKGDIR}/packages/makedevs/*.bb \
+${PKGDIR}/packages/man-pages/*.bb \
+${PKGDIR}/packages/man/*.bb \
+${PKGDIR}/packages/meta/*.bb \
+${PKGDIR}/packages/mgetty/*.bb \
+${PKGDIR}/packages/miau/*.bb \
+${PKGDIR}/packages/microcom/*.bb \
+${PKGDIR}/packages/module-init-tools/*.bb \
+${PKGDIR}/packages/modutils/*.bb \
+${PKGDIR}/packages/monotone/*.bb \
+${PKGDIR}/packages/mt-daapd/*.bb \
+${PKGDIR}/packages/mtd/*.bb \
+${PKGDIR}/packages/musicpd/*.bb \
+${PKGDIR}/packages/mutt/*.bb \
+${PKGDIR}/packages/mysql/*.bb \
+${PKGDIR}/packages/nail/*.bb \
+${PKGDIR}/packages/ncftp/*.bb \
+${PKGDIR}/packages/ncurses/*.bb \
+${PKGDIR}/packages/netbase/*.bb \
+${PKGDIR}/packages/nfs-utils/*.bb \
+${PKGDIR}/packages/nis/*.bb \
+${PKGDIR}/packages/nslu2-binary-only/*.bb \
+${PKGDIR}/packages/ntp/*.bb \
+${PKGDIR}/packages/openldap/*.bb \
+${PKGDIR}/packages/openntpd/*.bb \
+${PKGDIR}/packages/openslug-init/*.bb \
+${PKGDIR}/packages/openssh/*.bb \
+${PKGDIR}/packages/openssl/*.bb \
+${PKGDIR}/packages/openvpn/*.bb \
+${PKGDIR}/packages/pam/*.bb \
+${PKGDIR}/packages/patch/*.bb \
+${PKGDIR}/packages/patcher/*.bb \
+${PKGDIR}/packages/pciutils/*.bb \
+${PKGDIR}/packages/pcmcia-cs/*.bb \
+${PKGDIR}/packages/pcre/*.bb \
+${PKGDIR}/packages/perl/*.bb \
+${PKGDIR}/packages/php/*.bb \
+${PKGDIR}/packages/pkgconfig/*.bb \
+${PKGDIR}/packages/popt/*.bb \
+${PKGDIR}/packages/portmap/*.bb \
+${PKGDIR}/packages/postfix/*.bb \
+${PKGDIR}/packages/ppp/*.bb \
+${PKGDIR}/packages/procps/*.bb \
+${PKGDIR}/packages/psmisc/*.bb \
+${PKGDIR}/packages/puppy/*.bb \
+${PKGDIR}/packages/pwc/*.bb \
+${PKGDIR}/packages/python/*.bb \
+${PKGDIR}/packages/quilt/*.bb \
+${PKGDIR}/packages/readline/*.bb \
+${PKGDIR}/packages/reiser4progs/*.bb \
+${PKGDIR}/packages/reiserfsprogs/*.bb \
+${PKGDIR}/packages/rsync/*.bb \
+${PKGDIR}/packages/samba/*.bb \
+${PKGDIR}/packages/sane-backends/*.bb \
+${PKGDIR}/packages/screen/*.bb \
+${PKGDIR}/packages/sed/*.bb \
+${PKGDIR}/packages/slugimage/*.bb \
+${PKGDIR}/packages/streamripper/*.bb \
+${PKGDIR}/packages/sudo/*.bb \
+${PKGDIR}/packages/sysfsutils/*.bb \
+${PKGDIR}/packages/sysvinit/*.bb \
+${PKGDIR}/packages/tar/*.bb \
+${PKGDIR}/packages/thttpd/*.bb \
+${PKGDIR}/packages/tinylogin/*.bb \
+${PKGDIR}/packages/unionfs/*.bb \
+${PKGDIR}/packages/unzip/*.bb \
+${PKGDIR}/packages/update-modules/*.bb \
+${PKGDIR}/packages/update-rc.d/*.bb \
+${PKGDIR}/packages/upslug/*.bb \
+${PKGDIR}/packages/util-linux/*.bb \
+${PKGDIR}/packages/vlan/*.bb \
+${PKGDIR}/packages/wget/*.bb \
+${PKGDIR}/packages/xinetd/*.bb \
+${PKGDIR}/packages/zlib/*.bb \
+"
diff --git a/conf/distro/openslug.conf b/conf/distro/openslug.conf
index 6f321b50a6..dd4d7c0b5b 100644
--- a/conf/distro/openslug.conf
+++ b/conf/distro/openslug.conf
@@ -6,6 +6,9 @@ DISTRO_NAME = "OpenSlug"
DISTRO_VERSION = "2.4-beta"
DISTRO_TYPE ?= "beta"
+# pull in the frozen list of bbfiles
+include conf/distro/freeze.conf
+
# Add to the user's feeds from local.conf (there may be none)
FEED_URIS_append_linux += "cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/${DISTRO_VERSION}"
FEED_URIS_append_linux += "native##http://ipkg.nslu2-linux.org/feeds/openslug/native/${DISTRO_VERSION}"
diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf
index 7389a33fa1..76e063d6cb 100644
--- a/conf/distro/unslung.conf
+++ b/conf/distro/unslung.conf
@@ -10,6 +10,9 @@ DISTRO_NAME = "Unslung"
DISTRO_VERSION = "5.5-beta"
DISTRO_TYPE = "beta"
+# pull in the frozen list of bbfiles
+include conf/distro/freeze.conf
+
TARGET_FPU = "soft"
TARGET_OS = "linux"
diff --git a/packages/freeze/.mtn2git_empty b/packages/freeze/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/freeze/.mtn2git_empty
diff --git a/packages/freeze/files/.mtn2git_empty b/packages/freeze/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/freeze/files/.mtn2git_empty
diff --git a/packages/freeze/files/freeze b/packages/freeze/files/freeze
new file mode 100644
index 0000000000..f058402382
--- /dev/null
+++ b/packages/freeze/files/freeze
@@ -0,0 +1,200 @@
+#!/bin/sh
+#
+# This script must be executed with the following environment variables
+# and arguments:
+#
+# export FROZEN_DIR=<place to write conf files>
+# export PKGDIR=<location of openembedded package source>
+# export DISTRO=<distro being frozen>
+# freeze {directories}
+#
+# where {directories} are one or more directories containing built
+# packages. If not given or empty FROZEN_DIR defaults to the directory
+# on BBPATH containing conf/local.conf. With no arguments $TMPDIR/work must
+# be the location of the built packages.
+#
+# The output of the script consists of two files:
+# $FROZEN_DIR/$DISTRO-bbfiles.conf
+# defines BBFILES to a list of all the .bb files required
+#
+# $FROZEN_DIR/$DISTRO-packages.conf
+# defines BBFILES to a list of the directories containing
+# those bb files.
+#
+# The output path definitions use ${PKGDIR} (literally)
+#
+# Check the arguments.
+test -n "$DISTRO" || {
+ echo "FATAL: freeze: set \$DISTRO to the name of the distro to freeze" >&2
+ exit 1
+}
+test -r "$PKGDIR/packages/freeze/freeze.bb" || {
+ echo "FATAL: freeze: set \$PKGDIR to the directory containing OE packages" >&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"
+ 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: freeze: \$FROZEN_DIR=\"$FROZEN_DIR\"" >&2
+ echo "NOTE: (defaulted from \$BBPATH=\"$BBPATH\")" >&2
+ else
+ echo "FATAL: freeze: set \$FROZEN_DIR to the directory for the new .conf files" >&2
+ exit 1
+ fi
+fi
+test -d "$1" || {
+ if test -d "$TMPDIR/work"
+ then
+ set "$TMPDIR/work"
+ else
+ echo "FATAL: freeze: give one or more directories containing built packages" >&2
+ exit 1
+ fi
+}
+#
+# First some helper functions
+#
+# output "$@" if there is exactly one argument (so this selectively
+# outputs a file name if the pattern matches exactly one file).
+output() {
+ if test $# -eq 1 -a -r "$1"
+ then
+ echo '${PKGDIR}/packages/'"$1 \\"
+ return 0
+ else
+ return 1
+ fi
+}
+#
+# Perform edit '$1' on '$2' and check to see if the result is a valid
+# file name. If '$1' is empty '$2' is checked with no edit
+check() {
+ local nf
+ if test -n "$1"
+ then
+ nf="$(echo "$2" | sed -n "$1")"
+ test -n "$nf" && output */$nf.bb
+ else
+ output */"$2.bb"
+ fi
+}
+#
+# Output a note - because bitbake swallows the stderr stream and redirects to the
+# log file, which never gets read, it is necessary to do something horrible here.
+bberror(){
+ echo "ERROR:" "$@" >/dev/tty
+}
+bbnote(){
+ echo "NOTE:" "$@" >/dev/tty
+}
+#
+# Say where the files go (this goes to the log file)
+bbnote "frozen bbfiles.conf --> $FROZEN_DIR/$DISTRO-bbfiles.conf" >&2
+bbnote "frozen packages.conf --> $FROZEN_DIR/$DISTRO-packages.conf" >&2
+#
+# List the built packages, for each one find the corresponding bb file
+# (from the packages directory).
+for d in "$@"
+do
+ (cd "$d"; ls) | while read x
+ do
+ echo "$x" "$d/$x"
+ done
+done | {
+ report=
+ while read d full
+ do
+ if test ! -d "$full"
+ then
+ bberror "$full: not a directory, ignored" >&2
+ elif echo "$d" | egrep '\-[^-][^-]*-[a-z][a-z]*[0-9][0-9.]*$'
+ then
+ :
+ else
+ bberror "$full: expected package-version-rev" >&2
+ if test -z "$report"
+ then
+ bberror " name not recognised as a package and so ignored" >&2
+ report="$d"
+ fi
+ fi
+ done
+ if test -n "$report"
+ then
+ bberror "$report: at least this directory was ignored" >&2
+ bberror " The output files may be wrong, some .bb files may be missing!" >&2
+ fi
+} | sed 's/^\(.*\)-\([^-]*\)-\([^-]*\)$/\1 \2 \3/' | {
+ # the check commands need to be executed from the packages directory so they
+ # can use shell wildcarding to match the bb files
+ cd "$PKGDIR/packages"
+ # This would be several orders of magnitude easier if portmap did not have
+ # the version '5-7' (etc). This is the only package with a '-' in the
+ # version number...
+ report=
+ while read p v r
+ do
+ # Each package/version must be found in $PKGDIR/packages, this search
+ # is a heuristic, note that there are never any '_' characters in the
+ # work directory name.
+ f="${p}_$v"
+ check '' "$f" ||
+ check 's/-/[-_]/gp' "$p-$v" ||
+ check 's/_1\.0$//p' "$f" ||
+ check 's/_\([0-9.]*\)cvs200[0-9]*$/_\1cvs/p' "$f" ||
+ check 's/_\([0-9.]*\)+cvs200[0-9]*$/_\1+cvs/p' "$f" ||
+ check 's/_0\.1cvs200[0-9]*$/_cvs/p' "$f" ||
+ check 's/_0\.1cvs\(200[0-9]*\)$/_\1/p' "$f" || {
+ bberror "($p,$v,$r): package not found" >&2
+ if test -z "$report"
+ then
+ report="($p,$v,$r)"
+ bberror "at least one package has not been found" >&2
+ fi
+ }
+ done
+ # in all cases add freeze and unfreeze
+ echo '${PKGDIR}/packages/freeze/freeze.bb '"\\"
+ echo '${PKGDIR}/packages/freeze/unfreeze.bb '"\\"
+ # check for a problem
+ if test -n "$report"
+ then
+ bberror "At least $report was not found." >&2
+ bberror "This can be ignored if the .bb file has been removed, however if not" >&2
+ bberror "the frozen .conf output files are useless unless you fix them up" >&2
+ fi
+} | sort | uniq | {
+ # the simple bb file list (package/bbfile.bb)
+ out="$FROZEN_DIR/$DISTRO-bbfiles.conf"
+ echo '# automatically generated by bitbake freeze' >"$out"
+ echo 'BBFILES := "\' >>"$out"
+ tee -a "$out"
+ echo '"' >>"$out"
+} | sed 's!^\(.*\)/[^/]*\.bb \\$!\1/*.bb \\!' | uniq | {
+ # the package directories list (package)
+ out="$FROZEN_DIR/$DISTRO-packages.conf"
+ echo '# automatically generated by bitbake freeze' >"$out"
+ echo 'BBFILES := "\' >>"$out"
+ cat >>"$out"
+ echo '"' >>"$out"
+}
diff --git a/packages/freeze/files/unfreeze b/packages/freeze/files/unfreeze
new file mode 100644
index 0000000000..746bbc2349
--- /dev/null
+++ b/packages/freeze/files/unfreeze
@@ -0,0 +1,64 @@
+#!/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"
+ 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"
diff --git a/packages/freeze/freeze.bb b/packages/freeze/freeze.bb
new file mode 100644
index 0000000000..f65855872f
--- /dev/null
+++ b/packages/freeze/freeze.bb
@@ -0,0 +1,53 @@
+# freeze finds all the bitbake files used by the stuff
+# currently built in ${TMPDIR}/work and writes those
+# files into frozen-bbfiles.conf, then it writes the
+# directories containing the files into frozen-packages.conf
+#
+# The two files define (just) the BBFILES variable.
+#
+# The path names in the BBFILES variable are of the form:
+#
+# ${PKGDIR}/packages/directory/bbfile.bb
+# ${PKGDIR}/packages/directory/*.bb
+#
+# as appropriate, directory is the sub-directory of 'packages'.
+#
+DESCRIPTION = "Freeze the bitbake files in the build"
+MAINTAINER = "John Bowler <jbowler@acm.org>"
+SECTION = "console/networking"
+PRIORITY = "optional"
+LICENSE = "MIT"
+PR = "r0"
+
+INHIBIT_DEFAULT_DEPS = "1"
+PATCH_DEPENDS = ""
+ALLOW_EMPTY = 1
+PACKAGES = ""
+
+SRC_URI = "file://freeze"
+
+do_configure() {
+}
+do_compile() {
+}
+do_install() {
+}
+do_stage() {
+}
+
+do_build[nostamp] = 1
+do_build() {
+ # export FROZEN_DIR=<place to write conf files>
+ # export PACKAGE_DIR=<location of openembedded package source>
+ # freeze {directories}
+ set -x
+ if test -d "${PKGDIR}/packages"
+ then
+ FROZEN_DIR="${FROZEN_DIR}" DISTRO="${DISTRO}" \
+ sh "${WORKDIR}/freeze" "${TMPDIR}/work"
+ else
+ oenote "\$PKGDIR/packages ($PKGDIR/packages) not found"
+ oefatal "\$PKGDIR must be defined for freeze to work"
+ fi
+ set +x
+}
diff --git a/packages/freeze/unfreeze.bb b/packages/freeze/unfreeze.bb
new file mode 100644
index 0000000000..0c0eadc66a
--- /dev/null
+++ b/packages/freeze/unfreeze.bb
@@ -0,0 +1,42 @@
+# unfreeze undoes the work of freeze by making the frozen
+# configuration fails empty (they just contain a comment).
+#
+DESCRIPTION = "Unfreeze the bitbake files in the build"
+MAINTAINER = "John Bowler <jbowler@acm.org>"
+SECTION = "console/networking"
+PRIORITY = "optional"
+LICENSE = "MIT"
+PR = "r0"
+
+INHIBIT_DEFAULT_DEPS = "1"
+PATCH_DEPENDS = ""
+ALLOW_EMPTY = 1
+PACKAGES = ""
+
+SRC_URI = "file://unfreeze"
+
+do_configure() {
+}
+do_compile() {
+}
+do_install() {
+}
+do_stage() {
+}
+
+do_build[nostamp] = 1
+do_build() {
+ # export FROZEN_DIR=<place to write conf files>
+ # export PKGDIR=<location of openembedded package source>
+ # unfreeze
+ set -x
+ # this is a sanity check:
+ if test -d "${PKGDIR}/packages"
+ then
+ FROZEN_DIR="${FROZEN_DIR}" DISTRO="${DISTRO}" sh "${WORKDIR}/unfreeze"
+ else
+ oenote "\$PKGDIR/packages ($PKGDIR/packages) not found"
+ oefatal "\$PKGDIR must be defined for freeze/unfreeze to work"
+ fi
+ set +x
+}
diff --git a/packages/meta/package-index.bb b/packages/meta/package-index.bb
index 3db9e3360e..f230af0e27 100644
--- a/packages/meta/package-index.bb
+++ b/packages/meta/package-index.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Rebuild the package index"
-LICENSE = MIT
+LICENSE = "MIT"
PR = "r0"
DEPENDS = "ipkg-native"