summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/package_deb.bbclass238
-rw-r--r--classes/rootfs_deb.bbclass136
-rw-r--r--conf/distro/angstrom-2007.1-oabi.conf3
-rw-r--r--conf/machine/include/qemu.conf3
-rw-r--r--conf/machine/qemuarm.conf2
-rw-r--r--conf/machine/qemux86.conf17
-rw-r--r--packages/ezx/opentapi/.mtn2git_empty0
-rw-r--r--packages/ezx/opentapi/opentapi.init82
-rw-r--r--packages/ezx/opentapi_svn.bb13
-rw-r--r--packages/jhead/jhead_2.6.0.bb5
-rw-r--r--packages/linux/linux-rp_2.6.19+git.bb7
-rw-r--r--packages/meta/openprotium-packages.bb2
-rw-r--r--packages/uboot/u-boot_1.1.6.bb35
13 files changed, 533 insertions, 10 deletions
diff --git a/classes/package_deb.bbclass b/classes/package_deb.bbclass
new file mode 100644
index 0000000000..9697426d5d
--- /dev/null
+++ b/classes/package_deb.bbclass
@@ -0,0 +1,238 @@
+inherit package
+DEPENDS_prepend="${@["dpkg-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
+BOOTSTRAP_EXTRA_RDEPENDS += "dpkg"
+DISTRO_EXTRA_RDEPENDS += "dpkg"
+PACKAGE_WRITE_FUNCS += "do_package_deb"
+IMAGE_PKGTYPE ?= "deb"
+
+python package_deb_fn () {
+ from bb import data
+ bb.data.setVar('PKGFN', bb.data.getVar('PKG',d), d)
+}
+
+addtask package_deb_install
+python do_package_deb_install () {
+ import os, sys
+ pkg = bb.data.getVar('PKG', d, 1)
+ pkgfn = bb.data.getVar('PKGFN', d, 1)
+ rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1)
+ debdir = bb.data.getVar('DEPLOY_DIR_DEB', d, 1)
+ stagingdir = bb.data.getVar('STAGING_DIR', d, 1)
+ stagingbindir = bb.data.getVar('STAGING_BINDIR_NATIVE', d, 1)
+ tmpdir = bb.data.getVar('TMPDIR', d, 1)
+
+ if None in (pkg,pkgfn,rootfs):
+ raise bb.build.FuncFailed("missing variables (one or more of PKG, PKGFN, IMAGE_ROOTFS)")
+ try:
+ if not os.exists(rootfs):
+ os.makedirs(rootfs)
+ os.chdir(rootfs)
+ except OSError:
+ raise bb.build.FuncFailed(str(sys.exc_value))
+
+ # update packages file
+ (exitstatus, output) = commands.getstatusoutput('dpkg-scanpackages %s > %s/Packages' % (debdir, debdir))
+ if (exitstatus != 0 ):
+ raise bb.build.FuncFailed(output)
+
+ f = open(os.path.join(tmpdir, "stamps", "do_packages"), "w")
+ f.close()
+
+ # NOTE: this env stuff is racy at best, we need something more capable
+ # than 'commands' for command execution, which includes manipulating the
+ # env of the fork+execve'd processs
+
+ # Set up environment
+ apt_config = os.getenv('APT_CONFIG')
+ os.putenv('APT_CONFIG', os.path.join(stagingdir, 'etc', 'apt', 'apt.conf'))
+ path = os.getenv('PATH')
+ os.putenv('PATH', '%s:%s' % (stagingbindir, os.getenv('PATH')))
+
+ # install package
+ commands.getstatusoutput('apt-get update')
+ commands.getstatusoutput('apt-get install -y %s' % pkgfn)
+
+ # revert environment
+ os.putenv('APT_CONFIG', apt_config)
+ os.putenv('PATH', path)
+}
+
+python do_package_deb () {
+ import copy # to back up env data
+ import sys
+ import re
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined, unable to package")
+ return
+
+ import os # path manipulations
+ outdir = bb.data.getVar('DEPLOY_DIR_DEB', d, 1)
+ if not outdir:
+ bb.error("DEPLOY_DIR_DEB not defined, unable to package")
+ return
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined, unable to package")
+ return
+ bb.mkdirhier(dvar)
+
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ if not packages:
+ bb.debug(1, "PACKAGES not defined, nothing to package")
+ return
+
+ tmpdir = bb.data.getVar('TMPDIR', d, 1)
+ # Invalidate the packages file
+ if os.access(os.path.join(tmpdir, "stamps", "do_packages"),os.R_OK):
+ os.unlink(os.path.join(tmpdir, "stamps", "do_packages"))
+
+ if packages == []:
+ bb.debug(1, "No packages; nothing to do")
+ return
+
+ for pkg in packages.split():
+ localdata = bb.data.createCopy(d)
+ root = "%s/install/%s" % (workdir, pkg)
+
+ bb.data.setVar('ROOT', '', localdata)
+ bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+ pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1)
+ if not pkgname:
+ pkgname = pkg
+ bb.data.setVar('PKG', pkgname, localdata)
+
+ overrides = bb.data.getVar('OVERRIDES', localdata)
+ if not overrides:
+ raise bb.build.FuncFailed('OVERRIDES not defined')
+ overrides = bb.data.expand(overrides, localdata)
+ bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata)
+
+ bb.data.update_data(localdata)
+ basedir = os.path.join(os.path.dirname(root))
+
+ pkgoutdir = os.path.join(outdir, bb.data.getVar('PACKAGE_ARCH', localdata, 1))
+ bb.mkdirhier(pkgoutdir)
+
+ os.chdir(root)
+ from glob import glob
+ g = glob('*')
+ try:
+ del g[g.index('DEBIAN')]
+ del g[g.index('./DEBIAN')]
+ except ValueError:
+ pass
+ if not g and not bb.data.getVar('ALLOW_EMPTY', localdata):
+ from bb import note
+ note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
+ continue
+ controldir = os.path.join(root, 'DEBIAN')
+ bb.mkdirhier(controldir)
+ try:
+ ctrlfile = file(os.path.join(controldir, 'control'), 'wb')
+ # import codecs
+ # ctrlfile = codecs.open("someFile", "w", "utf-8")
+ except OSError:
+ raise bb.build.FuncFailed("unable to open control file for writing.")
+
+ fields = []
+ fields.append(["Version: %s-%s\n", ['PV', 'PR']])
+ fields.append(["Description: %s\n", ['DESCRIPTION']])
+ fields.append(["Section: %s\n", ['SECTION']])
+ fields.append(["Priority: %s\n", ['PRIORITY']])
+ fields.append(["Maintainer: %s\n", ['MAINTAINER']])
+ fields.append(["Architecture: %s\n", ['TARGET_ARCH']])
+ fields.append(["OE: %s\n", ['P']])
+ fields.append(["Homepage: %s\n", ['HOMEPAGE']])
+
+# Package, Version, Maintainer, Description - mandatory
+# Section, Priority, Essential, Architecture, Source, Depends, Pre-Depends, Recommends, Suggests, Conflicts, Replaces, Provides - Optional
+
+
+ def pullData(l, d):
+ l2 = []
+ for i in l:
+ data = bb.data.getVar(i, d, 1)
+ if data is None:
+ raise KeyError(f)
+ if i == 'TARGET_ARCH' and bb.data.getVar('PACKAGE_ARCH', d, 1) == 'all':
+ data = 'all'
+ l2.append(data)
+ return l2
+
+ ctrlfile.write("Package: %s\n" % pkgname)
+ # check for required fields
+ try:
+ for (c, fs) in fields:
+ ctrlfile.write(unicode(c % tuple(pullData(fs, localdata))))
+ except KeyError:
+ (type, value, traceback) = sys.exc_info()
+ ctrlfile.close()
+ raise bb.build.FuncFailed("Missing field for deb generation: %s" % value)
+ # more fields
+
+ bb.build.exec_func("mapping_rename_hook", localdata)
+
+ rdepends = explode_deps(unicode(bb.data.getVar("RDEPENDS", localdata, 1) or ""))
+ rdepends = [dep for dep in rdepends if not '*' in dep]
+ rrecommends = explode_deps(unicode(bb.data.getVar("RRECOMMENDS", localdata, 1) or ""))
+ rrecommends = [rec for rec in rrecommends if not '*' in rec]
+ rsuggests = (unicode(bb.data.getVar("RSUGGESTS", localdata, 1) or "")).split()
+ rprovides = (unicode(bb.data.getVar("RPROVIDES", localdata, 1) or "")).split()
+ rreplaces = (unicode(bb.data.getVar("RREPLACES", localdata, 1) or "")).split()
+ rconflicts = (unicode(bb.data.getVar("RCONFLICTS", localdata, 1) or "")).split()
+ if rdepends:
+ ctrlfile.write(u"Depends: %s\n" % ", ".join(rdepends))
+ if rsuggests:
+ ctrlfile.write(u"Suggests: %s\n" % ", ".join(rsuggests))
+ if rrecommends:
+ ctrlfile.write(u"Recommends: %s\n" % ", ".join(rrecommends))
+ if rprovides:
+ ctrlfile.write(u"Provides: %s\n" % ", ".join(rprovides))
+ if rreplaces:
+ ctrlfile.write(u"Replaces: %s\n" % ", ".join(rreplaces))
+ if rconflicts:
+ ctrlfile.write(u"Conflicts: %s\n" % ", ".join(rconflicts))
+ ctrlfile.close()
+
+ for script in ["preinst", "postinst", "prerm", "postrm"]:
+ scriptvar = bb.data.getVar('pkg_%s' % script, localdata, 1)
+ if not scriptvar:
+ continue
+ try:
+ scriptfile = file(os.path.join(controldir, script), 'w')
+ except OSError:
+ raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
+ scriptfile.write(scriptvar)
+ scriptfile.close()
+ os.chmod(os.path.join(controldir, script), 0755)
+
+ conffiles_str = bb.data.getVar("CONFFILES", localdata, 1)
+ if conffiles_str:
+ try:
+ conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
+ except OSError:
+ raise bb.build.FuncFailed("unable to open conffiles for writing.")
+ for f in conffiles_str.split():
+ conffiles.write('%s\n' % f)
+ conffiles.close()
+
+ os.chdir(basedir)
+ ret = os.system("PATH=\"%s\" fakeroot dpkg-deb -b %s %s" % (bb.data.getVar("PATH", localdata, 1), root, pkgoutdir))
+ if ret != 0:
+ raise bb.build.FuncFailed("dpkg-deb execution failed")
+
+ for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
+ scriptfile = os.path.join(controldir, script)
+ try:
+ os.remove(scriptfile)
+ except OSError:
+ pass
+ try:
+ os.rmdir(controldir)
+ except OSError:
+ pass
+ del localdata
+}
diff --git a/classes/rootfs_deb.bbclass b/classes/rootfs_deb.bbclass
new file mode 100644
index 0000000000..59909d6852
--- /dev/null
+++ b/classes/rootfs_deb.bbclass
@@ -0,0 +1,136 @@
+DEPENDS_prepend = "dpkg-native apt-native fakeroot-native "
+DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}"
+
+fakeroot rootfs_deb_do_rootfs () {
+ set +e
+ mkdir -p ${IMAGE_ROOTFS}/var/dpkg/{info,updates}
+
+ rm -f ${STAGING_DIR}/etc/apt/sources.list.rev
+ rm -f ${STAGING_DIR}/etc/apt/preferences
+ > ${IMAGE_ROOTFS}/var/dpkg/status
+ > ${IMAGE_ROOTFS}/var/dpkg/available
+ # > ${STAGING_DIR}/var/dpkg/status
+
+ priority=1
+ for arch in ${PACKAGE_ARCHS}; do
+ if [ ! -d ${DEPLOY_DIR_DEB}/$arch ]; then
+ continue;
+ fi
+ cd ${DEPLOY_DIR_DEB}/$arch
+ # if [ -z "${DEPLOY_KEEP_PACKAGES}" ]; then
+ rm -f Packages.gz Packages Packages.bz2
+ # fi
+ apt-ftparchive packages . | bzip2 > Packages.bz2
+ echo "Label: $arch" > Release
+
+ echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_DIR}/etc/apt/sources.list.rev
+ (echo "Package: *"
+ echo "Pin: release l=$arch"
+ echo "Pin-Priority: $((800 + $priority))"
+ echo) >> ${STAGING_DIR}/etc/apt/preferences
+ priority=$(expr $priority + 5)
+ done
+
+ tac ${STAGING_DIR}/etc/apt/sources.list.rev > ${STAGING_DIR}/etc/apt/sources.list
+
+ cat "${STAGING_DIR}/etc/apt/apt.conf.sample" \
+ | sed -e 's#Architecture ".*";#Architecture "${TARGET_ARCH}";#' \
+ > "${STAGING_DIR}/etc/apt/apt-rootfs.conf"
+
+ export APT_CONFIG="${STAGING_DIR}/etc/apt/apt-rootfs.conf"
+ export D=${IMAGE_ROOTFS}
+ export OFFLINE_ROOT=${IMAGE_ROOTFS}
+ export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
+
+ apt-get update
+
+ _flag () {
+ sed -i -e "/^Package: $2\$/{n; s/Status: install ok .*/Status: install ok $1/;}" ${IMAGE_ROOTFS}/var/dpkg/status
+ }
+ _getflag () {
+ cat ${IMAGE_ROOTFS}/var/dpkg/status | sed -n -e "/^Package: $2\$/{n; s/Status: install ok .*/$1/; p}"
+ }
+
+ if [ ! -z "${LINGUAS_INSTALL}" ]; then
+ apt-get install glibc-localedata-i18n
+ if [ $? -eq 1 ]; then
+ exit 1
+ fi
+ for i in ${LINGUAS_INSTALL}; do
+ apt-get install $i
+ if [ $? -eq 1 ]; then
+ exit 1
+ fi
+ done
+ fi
+
+ if [ ! -z "${PACKAGE_INSTALL}" ]; then
+ for i in ${PACKAGE_INSTALL}; do
+ apt-get install $i
+ if [ $? -eq 1 ]; then
+ exit 1
+ fi
+ find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do
+ mv $i `echo $i | sed -e's,\.dpkg-new$,,'`
+ done
+ done
+ fi
+
+ install -d ${IMAGE_ROOTFS}/${sysconfdir}
+ echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
+
+ # Mark all packages installed
+ sed -i -e "s/Status: install ok unpacked/Status: install ok installed/;" ${IMAGE_ROOTFS}/var/dpkg/status
+
+ # Attempt to run preinsts
+ # Mark packages with preinst failures as unpacked
+ for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.preinst; do
+ if [ -f $i ] && ! sh $i; then
+ _flag unpacked `basename $i .preinst`
+ fi
+ done
+
+ # Attempt to run postinsts
+ # Mark packages with postinst failures as unpacked
+ for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.postinst; do
+ if [ -f $i ] && ! sh $i configure; then
+ _flag unpacked `basename $i .postinst`
+ fi
+ done
+
+ set -e
+
+ # Hacks to make dpkg/ipkg coexist for now
+ mv ${IMAGE_ROOTFS}/var/dpkg ${IMAGE_ROOTFS}/usr/
+ if [ -e ${IMAGE_ROOTFS}/usr/dpkg/alternatives ]; then
+ rmdir ${IMAGE_ROOTFS}/usr/dpkg/alternatives
+ fi
+ ln -s /usr/lib/ipkg/alternatives ${IMAGE_ROOTFS}/usr/dpkg/alternatives
+ ln -s /usr/dpkg/info ${IMAGE_ROOTFS}/usr/lib/ipkg/info
+ ln -s /usr/dpkg/status ${IMAGE_ROOTFS}/usr/lib/ipkg/status
+
+ ${ROOTFS_POSTPROCESS_COMMAND}
+
+ log_check rootfs
+}
+
+rootfs_deb_log_check() {
+ target="$1"
+ lf_path="$2"
+
+ lf_txt="`cat $lf_path`"
+ for keyword_die in "E:"
+ do
+ if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
+ then
+ echo "log_check: There were error messages in the logfile"
+ echo -e "log_check: Matched keyword: [$keyword_die]\n"
+ echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
+ echo ""
+ do_exit=1
+ fi
+ done
+ test "$do_exit" = 1 && exit 1
+ true
+}
+
diff --git a/conf/distro/angstrom-2007.1-oabi.conf b/conf/distro/angstrom-2007.1-oabi.conf
index e63dc61a48..d1541509c5 100644
--- a/conf/distro/angstrom-2007.1-oabi.conf
+++ b/conf/distro/angstrom-2007.1-oabi.conf
@@ -3,9 +3,6 @@ require conf/distro/angstrom-2007.1.conf
#this is a special version of angstrom for armv4 based machines that can't do EABI
#see http://wiki.debian.org/ArmEabiPort for details on that
-#set compatible machine so people don't 'accidentally' use this
-COMPATIBLE_MACHINE = "(collie|h3600|h3800|simpad)"
-
#only glibc based builds are supported ATM
TARGET_OS = "linux"
diff --git a/conf/machine/include/qemu.conf b/conf/machine/include/qemu.conf
index b314fa9bea..26b78a6a9d 100644
--- a/conf/machine/include/qemu.conf
+++ b/conf/machine/include/qemu.conf
@@ -7,4 +7,5 @@ MACHINE_FEATURES = "kernel26 apm alsa pcmcia bluetooth irda usbgadget screen"
IMAGE_FSTYPES ?= "tar.bz2 ext2"
-ROOT_FLASH_SIZE = "100"
+ROOT_FLASH_SIZE = "200"
+IMAGE_ROOTFS_SIZE_ext2 = "200000"
diff --git a/conf/machine/qemuarm.conf b/conf/machine/qemuarm.conf
index 371ba927bb..2de34e42c9 100644
--- a/conf/machine/qemuarm.conf
+++ b/conf/machine/qemuarm.conf
@@ -12,4 +12,4 @@ SERIAL_CONSOLE = "115200 ttyAMA0"
PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
-MACHINE_TASK_PROVIDER = "task-base" \ No newline at end of file
+MACHINE_TASK_PROVIDER = "task-base"
diff --git a/conf/machine/qemux86.conf b/conf/machine/qemux86.conf
new file mode 100644
index 0000000000..dfbd345ae8
--- /dev/null
+++ b/conf/machine/qemux86.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: qemu x86 Emulator setup
+#@DESCRIPTION: Machine configuration for running an x86 system under qemu emulation
+
+TARGET_ARCH = "i586"
+PACKAGE_EXTRA_ARCHS = "x86"
+
+require conf/machine/include/qemu.conf
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
+
+GLIBC_ADDONS = "nptl"
+GLIBC_EXTRA_OECONF = "--with-tls"
+
+MACHINE_TASK_PROVIDER = "task-base"
diff --git a/packages/ezx/opentapi/.mtn2git_empty b/packages/ezx/opentapi/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ezx/opentapi/.mtn2git_empty
diff --git a/packages/ezx/opentapi/opentapi.init b/packages/ezx/opentapi/opentapi.init
new file mode 100644
index 0000000000..6b78c1574c
--- /dev/null
+++ b/packages/ezx/opentapi/opentapi.init
@@ -0,0 +1,82 @@
+#! /bin/sh
+# -*- coding: utf-8 -*-
+# init.d script for opentapi
+
+set -e
+
+DAEMON=/usr/bin/opentapi
+NAME=opentapi
+PIDDIR=/var/run/opentapi
+PIDFILE=$PIDDIR/pid
+DESC="OpenTAPI server"
+
+test -x $DAEMON || exit 0
+
+# Source defaults file; edit that file to configure this script.
+ENABLED=1
+PARAMS=""
+if [ -e /etc/default/opentapi ]; then
+ . /etc/default/opentapis
+fi
+
+test "$ENABLED" != "0" || exit 0
+
+start_it_up()
+{
+ if [ ! -d $PIDDIR ]; then
+ mkdir -p $PIDDIR
+ fi
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/$(cat $PIDFILE)
+ if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+ echo "$DESC already started; not starting."
+ else
+ echo "Removing stale PID file $PIDFILE."
+ rm -f $PIDFILE
+ fi
+ fi
+
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ -exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ if [ -d $EVENTDIR ]; then
+ run-parts --arg=start $EVENTDIR
+ fi
+}
+
+shut_it_down()
+{
+ if [ -d $EVENTDIR ]; then
+ run-parts --reverse --arg=stop $EVENTDIR
+ fi
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+
+ # We no longer include these arguments so that start-stop-daemon
+ # can do its job even given that we may have been upgraded.
+ # We rely on the pidfile being sanely managed
+ # --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ start_it_up
+ ;;
+ stop)
+ shut_it_down
+ ;;
+ restart|force-reload)
+ shut_it_down
+ sleep 1
+ start_it_up
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/packages/ezx/opentapi_svn.bb b/packages/ezx/opentapi_svn.bb
index e27aa68b97..a617f5b45b 100644
--- a/packages/ezx/opentapi_svn.bb
+++ b/packages/ezx/opentapi_svn.bb
@@ -3,12 +3,23 @@ LICENSE = "GPLv2"
PV = "0.0+svn${SRCDATE}"
-SRC_URI = "svn://svn.openezx.org/trunk/src/userspace/;module=opentapi;proto=http"
+SRC_URI = "svn://svn.openezx.org/trunk/src/userspace/;module=opentapi;proto=http \
+ file://opentapi.init \
+ "
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "opentapi"
+INITSCRIPT_PARAMS = "defaults"
+
S = "${WORKDIR}/${PN}"
do_install() {
install -d ${D}${bindir}
install -m 755 opentapi ${D}${bindir}
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/opentapi.init ${D}${sysconfdir}/init.d/opentapi
}
diff --git a/packages/jhead/jhead_2.6.0.bb b/packages/jhead/jhead_2.6.0.bb
index d37dc0c733..3779c1ec34 100644
--- a/packages/jhead/jhead_2.6.0.bb
+++ b/packages/jhead/jhead_2.6.0.bb
@@ -11,3 +11,8 @@ inherit autotools
do_configure() {
:
}
+
+do_install() {
+ install -d ${D}/bin
+ autotools_do_install
+}
diff --git a/packages/linux/linux-rp_2.6.19+git.bb b/packages/linux/linux-rp_2.6.19+git.bb
index 4620537aa1..3df216d616 100644
--- a/packages/linux/linux-rp_2.6.19+git.bb
+++ b/packages/linux/linux-rp_2.6.19+git.bb
@@ -15,9 +15,10 @@ DEFAULT_PREFERENCE = "-1"
# Patches submitted upstream are towards top of this list
# Hacks should clearly named and at the bottom
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=v2.6.20-rc2 \
- http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.12.4.patch;patch=1;status=merged \
+ http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.13pre1.patch;patch=1;status=merged \
+ ${RPSRC}/asoc_13pre1_fix-r0.patch;patch=1 \
${RPSRC}/xscale_cache_workaround-r1.patch;patch=1;status=merged \
- ${RPSRC}/backlight_parameter_fix-r0.patch;patch=1;status=pending \
+ ${RPSRC}/backlight_parameter_fix-r1.patch;patch=1;status=pending \
${RPSRC}/hx2750_base-r28.patch;patch=1 \
${RPSRC}/hx2750_bl-r8.patch;patch=1 \
${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
@@ -31,7 +32,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;
${RPSRC}/pm_changes-r1.patch;patch=1 \
${RPSRC}/usb_add_epalloc-r3.patch;patch=1 \
${RPSRC}/usb_pxa27x_udc-r3.patch;patch=1 \
- ${DOSRC}/kexec-arm-r4.patch;patch=1 \
+ ${RPSRC}/kexec-arm-r4.patch;patch=1 \
${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
${RPSRC}/poodle_pm-r3.patch;patch=1 \
${RPSRC}/pxa27x_overlay-r5.patch;patch=1 \
diff --git a/packages/meta/openprotium-packages.bb b/packages/meta/openprotium-packages.bb
index 47f0cfe39f..9a1d928a77 100644
--- a/packages/meta/openprotium-packages.bb
+++ b/packages/meta/openprotium-packages.bb
@@ -36,6 +36,7 @@ ALLOW_EMPTY = "1"
# wpa-supplicant \
# bluez-utils-nodbus \
# libxml2 \
+# libdvb \
# madwifi-ng \
# motion \
# ftpd-topfield \
@@ -105,7 +106,6 @@ OPENPROTIUM_PACKAGES = "\
lcdproc \
less \
libao \
- libdvb \
libid3tag \
liblockfile \
libmad \
diff --git a/packages/uboot/u-boot_1.1.6.bb b/packages/uboot/u-boot_1.1.6.bb
new file mode 100644
index 0000000000..b45e86611b
--- /dev/null
+++ b/packages/uboot/u-boot_1.1.6.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "U-boot bootloader"
+PROVIDES = "virtual/bootloader"
+SECTION = "bootloader"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+PR = "r0"
+
+SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.6.tar.bz2"
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+
+UBOOT_MACHINE ?= "${MACHINE}_config"
+UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_compile () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake all
+}
+
+do_stage() {
+ install -m755 tools/mkimage ${STAGING_BINDIR_NATIVE}
+}
+
+do_deploy () {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install ${S}/u-boot.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE}
+}
+do_deploy[dirs] = "${S}"
+addtask deploy before do_build after do_compile