summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hentges <oe@hentges.net>2007-12-27 21:37:31 +0000
committerMatthias Hentges <oe@hentges.net>2007-12-27 21:37:31 +0000
commit807d2d6d72975b2de4bc47940004f792b39b7c94 (patch)
tree4e42476229a92c9e18a846d806dce14a57a1bcac
parentc8ba91fe350a5b56d46baef35470bdbbaa5edaef (diff)
parent2118494c862cc7442fda5249394b924575a6f7ca (diff)
merge of '65fefd8b14862b0291239d37729964b98069c038'
and 'fbb56d5a76093891efdc7abc682059fd0436d4be'
-rw-r--r--MAINTAINERS2
-rw-r--r--classes/autotools.bbclass2
-rw-r--r--classes/binconfig.bbclass2
-rw-r--r--classes/insane.bbclass123
-rw-r--r--classes/qtopia4core.bbclass5
-rw-r--r--conf/checksums.ini2
-rw-r--r--conf/distro/angstrom-2008.1.conf2
-rwxr-xr-xcontrib/angstrom/build-feeds.sh6
-rw-r--r--packages/apr/apr-util_1.2.7.bb9
-rw-r--r--packages/apr/apr_1.2.7.bb3
-rw-r--r--packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch294
-rw-r--r--packages/kexec/kexec-tools_1.101.bb9
-rw-r--r--packages/libqanava/libqanava_0.0.7.bb4
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-akita1
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-bootcdx863
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-c7x03
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-collie3
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-htcuniversal1
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-hx20003
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-poodle1
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-qemuarm3
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-qemux863
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-spitz21
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-tosa1
-rw-r--r--packages/linux/linux-rp-2.6.23/defconfig-zylonite3
-rw-r--r--packages/linux/linux-rp_2.6.23.bb18
-rw-r--r--packages/mkbot/mkbot_0.3.bb2
-rw-r--r--packages/mtd/mtd-utils_1.0.0+git.bb6
-rw-r--r--packages/opie-reader/uqtreader_cvs.bb2
-rw-r--r--packages/qmake/qmake2-native.inc1
-rw-r--r--packages/qmake/qmake2-native/0001-fix-mkspecs.patch25
-rw-r--r--packages/qmake/qmake2-native/0008-backport-qt-lib-infix.patch33
-rw-r--r--packages/qsvn/qsvn-qte_0.3.0.bb3
-rw-r--r--packages/qsvn/qsvn.inc25
-rw-r--r--packages/qsvn/qsvn_0.3.0.bb22
-rw-r--r--packages/qt4/files/0008-backport-qt-lib-infix.patch166
-rw-r--r--packages/qt4/qt4-x11-free.inc1
-rw-r--r--packages/qt4/qt_configuration.inc10
-rw-r--r--packages/qt4/qt_packaging.inc66
-rw-r--r--packages/qt4/qt_staging.inc11
-rw-r--r--packages/qt4/qtopia-core.inc7
-rw-r--r--packages/qt4/qtopia-core/build-tools.patch28
-rw-r--r--packages/qt4/qtopia-core_4.3.3.bb3
-rw-r--r--packages/qxmp/qxmp_1.0.bb2
-rw-r--r--packages/tasks/task-base.bb4
-rw-r--r--packages/texmaker/texmaker_1.3.bb2
46 files changed, 771 insertions, 175 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index dc59ea204c..23ddce0fde 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -74,7 +74,7 @@ Person: Holger Hans Peter Freyther
Mail: zecke@selfish.org
Website: http://www.openembedded.org/~zecke
Interests: icecream, insanity, QA
-Recipes: qtopia*, sqlite3, xine
+Recipes: qtopia*, qt*, qmake*, sqlite3, xine
Person: Jamie Lenehan
Mail: lenehan@twibble.org
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass
index 8e4fba9400..991e472b14 100644
--- a/classes/autotools.bbclass
+++ b/classes/autotools.bbclass
@@ -174,6 +174,8 @@ autotools_stage_all() {
fi
if [ -d ${STAGE_TEMP}/${libdir} ]
then
+ find ${STAGE_TEMP}/${libdir} -name '*.la' -exec sed -i s,installed=yes,installed=no, {} \;
+
for i in ${STAGE_TEMP}/${libdir}/*.la
do
if [ ! -f "$i" ]; then
diff --git a/classes/binconfig.bbclass b/classes/binconfig.bbclass
index 4e425a76d6..5ce9ff6f0d 100644
--- a/classes/binconfig.bbclass
+++ b/classes/binconfig.bbclass
@@ -20,6 +20,8 @@ def get_binconfig_mangle(d):
s += " -e 's:OEEXECPREFIX:${STAGING_DIR_HOST}${layout_exec_prefix}:'"
s += " -e 's:-I${WORKDIR}:-I${STAGING_INCDIR}:'"
s += " -e 's:-L${WORKDIR}:-L${STAGING_LIBDIR}:'"
+ if bb.data.getVar("OE_BINCONFIG_EXTRA_MANGLE", d):
+ s += bb.data.getVar("OE_BINCONFIG_EXTRA_MANGLE", d)
return s
BINCONFIG_GLOB ?= "*-config"
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index 473fe6ebbf..14acdb73fb 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -8,28 +8,25 @@
# -Check the RUNTIME path for the $TMPDIR
# -Check if .la files wrongly point to workdir
# -Check if .pc files wrongly point to workdir
-# -Check if packages contains .debug directories or .so files where they should be in -dev or -dbg
+# -Check if packages contains .debug directories or .so files
+# where they should be in -dev or -dbg
# -Check if config.log contains traces to broken autoconf tests
-#
#
# We need to have the scanelf utility as soon as
-# possible and this is contained within the pax-utils-native
+# possible and this is contained within the pax-utils-native.
+# The package.bbclass can help us here.
#
-
-
-# We play a special package function
inherit package
PACKAGE_DEPENDS += "pax-utils-native desktop-file-utils-native"
-#PACKAGE_DEPENDS += chrpath-native"
PACKAGEFUNCS += " do_package_qa "
#
# dictionary for elf headers
#
-# feel free to add and correct.
+# feel free to add and correct.
#
# TARGET_OS TARGET_ARCH MACHINE, OSABI, ABIVERSION, Little Endian, 32bit?
def package_qa_get_machine_dict():
@@ -75,7 +72,7 @@ def package_qa_get_machine_dict():
"arm" : (40, 0, 0, True, True),
"armeb" : (40, 0, 0, False, True),
},
-
+
}
# factory for a class, embedded in a method
@@ -102,11 +99,10 @@ def package_qa_get_elf(path, bits32):
ELFDATA2LSB = 1
ELFDATA2MSB = 2
- def my_assert(expectation, result):
+ def my_assert(self, expectation, result):
if not expectation == result:
- #print "'%x','%x'" % (ord(expectation), ord(result))
+ #print "'%x','%x' %s" % (ord(expectation), ord(result), self.name)
raise Exception("This does not work as expected")
- my_assert = staticmethod(my_assert)
def __init__(self, name):
self.name = name
@@ -115,16 +111,16 @@ def package_qa_get_elf(path, bits32):
self.file = file(self.name, "r")
self.data = self.file.read(ELFFile.EI_NIDENT+4)
- ELFFile.my_assert(len(self.data), ELFFile.EI_NIDENT+4)
- ELFFile.my_assert(self.data[0], chr(0x7f) )
- ELFFile.my_assert(self.data[1], 'E')
- ELFFile.my_assert(self.data[2], 'L')
- ELFFile.my_assert(self.data[3], 'F')
+ self.my_assert(len(self.data), ELFFile.EI_NIDENT+4)
+ self.my_assert(self.data[0], chr(0x7f) )
+ self.my_assert(self.data[1], 'E')
+ self.my_assert(self.data[2], 'L')
+ self.my_assert(self.data[3], 'F')
if bits32 :
- ELFFile.my_assert(self.data[ELFFile.EI_CLASS], chr(ELFFile.ELFCLASS32)) # only 32 bits
+ self.my_assert(self.data[ELFFile.EI_CLASS], chr(ELFFile.ELFCLASS32))
else:
- ELFFile.my_assert(self.data[ELFFile.EI_CLASS], chr(ELFFile.ELFCLASS64)) # only 64 bits
- ELFFile.my_assert(self.data[ELFFile.EI_VERSION], chr(ELFFile.EV_CURRENT) )
+ self.my_assert(self.data[ELFFile.EI_CLASS], chr(ELFFile.ELFCLASS64))
+ self.my_assert(self.data[ELFFile.EI_VERSION], chr(ELFFile.EV_CURRENT) )
self.sex = self.data[ELFFile.EI_DATA]
if self.sex == chr(ELFFile.ELFDATANONE):
@@ -160,20 +156,19 @@ def package_qa_get_elf(path, bits32):
return ELFFile(path)
-#
-#
# Known Error classes
# 0 - non dev contains .so
# 1 - package contains a dangerous RPATH
# 2 - package depends on debug package
# 3 - non dbg contains .so
# 4 - wrong architecture
-# 5 - .la contains installed=yes or reference to the workdir
+# 5 - .la contains installed=yes
# 6 - .pc contains reference to /usr/include or workdir
-#
-#
+# 7 - the desktop file is not valid
+# 8 - .la contains reference to the workdir
def package_qa_clean_path(path,d):
+ """ Remove the common prefix from the path. In this case it is the TMPDIR"""
import bb
return path.replace(bb.data.getVar('TMPDIR',d,True),"")
@@ -183,7 +178,7 @@ def package_qa_make_fatal_error(error_class, name, path,d):
TODO: Load a whitelist of known errors
"""
- if error_class == 0:
+ if error_class in [0, 5, 8]:
return False
else:
return True
@@ -206,7 +201,8 @@ def package_qa_write_error(error_class, name, path, d):
log_path = os.path.join( bb.data.getVar('T', d, True), "log.qa_package" )
f = file( log_path, "a+")
- print >> f, "%s, %s, %s" % (ERROR_NAMES[error_class], name, package_qa_clean_path(path,d))
+ print >> f, "%s, %s, %s" % \
+ (ERROR_NAMES[error_class], name, package_qa_clean_path(path,d))
f.close()
@@ -216,28 +212,21 @@ def package_qa_check_rpath(file,name,d):
"""
import bb, os
scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
- #chrpath = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'chrpath')
bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
bad_dir_test = bb.data.getVar('TMPDIR', d, True)
if not os.path.exists(scanelf):
bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found")
- #if not os.path.exists(chrpath):
- # bb.fatal("Can not fix RPATH, chrpath (part of chrpath-native) not found")
+
if not bad_dir in bb.data.getVar('WORKDIR', d, True):
bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
- #bb.note("%s -B -F%%r#F %s" % (scanelf,file))
output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
txt = output.readline().split()
- #bb.note("???%s???" % bad_dir_test)
for line in txt:
- #bb.note("===%s===" % line)
if bad_dir in line:
package_qa_write_error( 1, name, file, d)
- bb.error("QA Issue package %s contains bad RPATH %s in file %s" % (name, line, file))
- #bb.note("Fixing RPATH for you in %s" % file)
- #os.popen("%s -r /lib %s" % (chrpath,file))
- #return False
+ bb.error("QA Issue package %s contains bad RPATH %s in file %s" % \
+ (name, line, file))
return True
def package_qa_check_devdbg(path, name,d):
@@ -252,14 +241,16 @@ def package_qa_check_devdbg(path, name,d):
if not "-dev" in name:
if path[-3:] == ".so" and os.path.islink(path):
package_qa_write_error( 0, name, path, d )
- bb.error("QA Issue: non -dev package contains symlink .so: %s path '%s'" % (name, package_qa_clean_path(path,d)))
+ bb.error("QA Issue: non -dev package contains symlink .so: %s path '%s'" % \
+ (name, package_qa_clean_path(path,d)))
if package_qa_make_fatal_error( 0, name, path, d ):
sane = False
if not "-dbg" in name:
if '.debug' in path:
package_qa_write_error( 3, name, path, d )
- bb.error("QA Issue: non debug package contains .debug directory: %s path %s" % (name, package_qa_clean_path(path,d)))
+ bb.error("QA Issue: non debug package contains .debug directory: %s path %s" % \
+ (name, package_qa_clean_path(path,d)))
if package_qa_make_fatal_error( 3, name, path, d ):
sane = False
@@ -279,7 +270,7 @@ def package_qa_check_arch(path,name,d):
import bb, os
target_os = bb.data.getVar('TARGET_OS', d, True)
target_arch = bb.data.getVar('TARGET_ARCH', d, True)
-
+
# FIXME: Cross package confuse this check, so just skip them
if bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d):
return True
@@ -290,42 +281,38 @@ def package_qa_check_arch(path,name,d):
return True
#if this will throw an exception, then fix the dict above
- (machine, osabi, abiversion, littleendian, bits32) = package_qa_get_machine_dict()[target_os][target_arch]
+ (machine, osabi, abiversion, littleendian, bits32) \
+ = package_qa_get_machine_dict()[target_os][target_arch]
elf = package_qa_get_elf(path, bits32)
try:
elf.open()
except:
- # just for debbugging to check the parser, remove once convinced...
return True
+ # Check the architecture and endiannes of the binary
if not machine == elf.machine():
- bb.error("Architecture did not match (%d to %d) on %s" %(machine, elf.machine(), package_qa_clean_path(path,d)))
+ bb.error("Architecture did not match (%d to %d) on %s" % \
+ (machine, elf.machine(), package_qa_clean_path(path,d)))
return not package_qa_make_fatal_error( 4, name, path, d )
elif not littleendian == elf.isLittleEndian():
- bb.error("Endiannes did not match (%d to %d) on %s" % (littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)))
+ bb.error("Endiannes did not match (%d to %d) on %s" % \
+ (littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)))
return not package_qa_make_fatal_error( 4, name, path, d )
return True
-def package_qa_check_pcla(path,name,d):
- """
- .pc and .la files should not point to the WORKDIR
- """
- sane = True
- # TODO
- return sane
-
def package_qa_check_desktop(path, name, d):
"""
Run all desktop files through desktop-file-validate.
"""
import bb, os
if path.endswith(".desktop"):
- validate = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True), 'desktop-file-validate')
+ validate = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True), \
+ 'desktop-file-validate')
output = os.popen("%s %s" % (validate, path))
- # This only produces output on errors
for l in output:
bb.error(l.strip())
+ return not package_qa_make_fatal_error(7, name, path, d)
return True
def package_qa_check_staged(path,d):
@@ -355,14 +342,21 @@ def package_qa_check_staged(path,d):
path = os.path.join(root,file)
if file[-2:] == "la":
file_content = open(path).read()
- if installed in file_content or workdir in file_content:
- bb.error("QA issue: %s failed sanity test (reference to workdir or installed)" % file )
+ if installed in file_content:
+ bb.error("QA issue: %s failed sanity test (installed) in path %s" % \
+ (file,root))
if package_qa_make_fatal_error( 5, "staging", path, d):
- sane = True
+ sane = False
+ if workdir in file_content:
+ bb.error("QA issue: %s failed sanity test (workdir) in path %s" % \
+ (file,root))
+ if package_qa_make_fatal_error(8, "staging", path, d):
+ sane = False
elif file[-2:] == "pc":
file_content = open(path).read()
if workdir in file_content:
- bb.error("QA issue: %s failed sanity test (reference to workdir)" % file )
+ bb.error("QA issue: %s failed sanity test (workdir) in path %s" % \
+ (file,root))
if package_qa_make_fatal_error( 6, "staging", path, d):
sane = False
@@ -431,6 +425,9 @@ python do_package_qa () {
if not packages:
return
+ checks = [package_qa_check_rpath, package_qa_check_devdbg,
+ package_qa_check_perm, package_qa_check_arch,
+ package_qa_check_desktop]
walk_sane = True
rdepends_sane = True
for package in packages.split():
@@ -440,7 +437,7 @@ python do_package_qa () {
bb.note("Checking Package: %s" % package)
path = "%s/install/%s" % (workdir, package)
- if not package_qa_walk(path, [package_qa_check_rpath, package_qa_check_devdbg, package_qa_check_perm, package_qa_check_arch, package_qa_check_desktop], package, d):
+ if not package_qa_walk(path, checks, package, d):
walk_sane = False
if not package_qa_check_rdepends(package, workdir, d):
rdepends_sane = False
@@ -466,7 +463,11 @@ python do_qa_configure() {
bb.note("Checking sanity of the config.log file")
import os
for root, dirs, files in os.walk(bb.data.getVar('WORKDIR', d, True)):
+ statement = "grep 'CROSS COMPILE Badness:' %s > /dev/null" % \
+ os.path.join(root,"config.log")
if "config.log" in files:
- if os.system("grep 'CROSS COMPILE Badness:' %s > /dev/null" % (os.path.join(root,"config.log"))) == 0:
- bb.fatal("This autoconf log indicates errors, it looked at host includes. Rerun configure task after fixing this. Path was '%s'" % root)
+ if os.system(statement) == 0:
+ bb.fatal("This autoconf log indicates errors, it looked at \
+ host includes. Rerun configure task after fixing this. \
+ Path was '%s'" % root)
}
diff --git a/classes/qtopia4core.bbclass b/classes/qtopia4core.bbclass
index 181973d72d..fd8939a23f 100644
--- a/classes/qtopia4core.bbclass
+++ b/classes/qtopia4core.bbclass
@@ -4,8 +4,9 @@ inherit qmake2
#
# override variables set by qmake-base to compile QtopiaCore apps
#
-export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qtopiacore"
-export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}/qtopiacore"
+export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qtopia"
+export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}/qtopia"
export OE_QMAKE_LIBS_QT = "qt"
export OE_QMAKE_LIBS_X11 = ""
export OE_QMAKE_EXTRA_MODULES = "network"
+EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=E "
diff --git a/conf/checksums.ini b/conf/checksums.ini
index eadb6a09a9..5c6109ba17 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -9446,7 +9446,7 @@ sha256=c163e72cb002435d1d261a47acdcb23e59c10e4263f983a5f2c2d2ca40ede75b
md5=8012acea71b35c18247bd92c4721589d
sha256=abc37774d327a9b1d1d35e223f014c7e92168cd6c7baf66156badca68f8f1440
-[ftp://ftp.trolltech.com/pub/qt/source/qt-x11-opensource-src-4.3.3.tar.gz]
+[ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.3.3.tar.gz]
md5=19678fe35170559cd6a6fa531c57799c
sha256=89934bacc5cee5cb35a231275b0f9948f29483faf9082bed0e7255ce41751570
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 44a7791ea2..ff7636e686 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -53,7 +53,7 @@ MACHINE_KERNEL_VERSION = "2.6"
PCMCIA_MANAGER = "pcmciautils"
#Preferred version for the kernel on various machines
-PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh19"
+PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh20"
#This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
PREFERRED_VERSION_linux-libc-headers = "2.6.23"
diff --git a/contrib/angstrom/build-feeds.sh b/contrib/angstrom/build-feeds.sh
index c7e70fa169..a0a21ed202 100755
--- a/contrib/angstrom/build-feeds.sh
+++ b/contrib/angstrom/build-feeds.sh
@@ -32,7 +32,7 @@ do_report_success() {
echo "$(date -u +%s) $target $BUILD_MODE $machine" >> autobuilder-feed.log
}
-for machine in ep93xx gumstix-connex gumstix-verdex efika omap5912osk ixp4xxle ixp4xxbe c7x0 poodle tosa akita spitz collie simpad fic-gta01 a780 at91sam9263ek qemuarm h2200 h3900 h4000 hx4700
+for machine in ep93xx gumstix-connex gumstix-verdex efika dht-walnut omap5912osk ixp4xxle ixp4xxbe c7x0 poodle tosa akita spitz collie simpad fic-gta01 a780 at91sam9263ek qemuarm h2200 h3900 h4000 hx4700
do
BUILD_MACHINE=$machine
BUILD_CLEAN="libtool-cross qmake-native qmake2-native"
@@ -41,17 +41,19 @@ do
mono perl python ruby \
gtk+ qt-x11-free qt4-x11-free \
gpe-mini-browser midori minimo openmoko-browser2 webkit-gtklauncher \
- samba \
+ samba meta-nas-server \
apache2 boa cherokee lighttpd thttpd \
gpe-gallery gpe-scap notecase \
pidgin irssi \
roadmap-gtk2 gpsdrive navit \
xmms mplayer quasar \
wpa-gui wifi-radar kismet aircrack-ng dsniff \
+ iptables iperf \
gpe-bluetooth bluez-gnome python-pybluez \
abiword gnumeric evince epdfview gimp \
flite \
ctorrent \
+ asterisk \
gnuplot mpfr gmp fftw fftwf fftwl \
gphoto2 gqview imagemagick ufraw \
tzdata \
diff --git a/packages/apr/apr-util_1.2.7.bb b/packages/apr/apr-util_1.2.7.bb
index ea81607953..904e41f8a3 100644
--- a/packages/apr/apr-util_1.2.7.bb
+++ b/packages/apr/apr-util_1.2.7.bb
@@ -14,12 +14,19 @@ EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS} --with-dbm=gdbm \
--without-sqlite3 \
--with-expat=${STAGING_DIR_HOST}${layout_prefix}"
+
inherit autotools lib_package binconfig
+OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
+
do_configure() {
+ cp ${STAGING_DATADIR}/apr_rules.mk ${S}/build/rules.mk
oe_runconf
}
do_stage() {
- autotools_stage_all
+ autotools_stage_all
+ sed -i s,/usr/lib/libgdbm.la,-lgdbm,g ${STAGING_LIBDIR}/libaprutil-1.la
+ sed -i s,/usr/lib/libexpat.la,-lexpat,g ${STAGING_LIBDIR}/libaprutil-1.la
+ sed -i s,/usr/lib/libapr-1.la,-lapr-1,g ${STAGING_LIBDIR}/libaprutil-1.la
}
diff --git a/packages/apr/apr_1.2.7.bb b/packages/apr/apr_1.2.7.bb
index 2016ca0126..d0f2916bfa 100644
--- a/packages/apr/apr_1.2.7.bb
+++ b/packages/apr/apr_1.2.7.bb
@@ -9,10 +9,13 @@ SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.bz2"
inherit autotools lib_package binconfig
+OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
+
do_configure() {
oe_runconf
}
do_stage() {
autotools_stage_all
+ cp ${S}/build/apr_rules.mk ${STAGING_DATADIR}
}
diff --git a/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch b/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch
new file mode 100644
index 0000000000..bf6f640035
--- /dev/null
+++ b/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch
@@ -0,0 +1,294 @@
+---
+ kexec/arch/arm/kexec-zImage-arm.c | 259 ++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 252 insertions(+), 7 deletions(-)
+
+Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2007-12-26 21:17:07.000000000 +0000
++++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2007-12-27 01:24:25.000000000 +0000
+@@ -1,11 +1,83 @@
++/*
++ * - 08/21/2007 ATAG support added by Uli Luckas <u.luckas@road.de>
++ *
++ */
+ #define _GNU_SOURCE
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <limits.h>
++#include <stdint.h>
++#include <getopt.h>
++#include <arch/options.h>
++#include <asm/page.h>
+ #include "../../kexec.h"
+
++#define COMMAND_LINE_SIZE 1024
++#define BOOT_PARAMS_SIZE 1536
++
++struct tag_header {
++ uint32_t size;
++ uint32_t tag;
++};
++
++/* The list must start with an ATAG_CORE node */
++#define ATAG_CORE 0x54410001
++
++struct tag_core {
++ uint32_t flags; /* bit 0 = read-only */
++ uint32_t pagesize;
++ uint32_t rootdev;
++};
++
++/* it is allowed to have multiple ATAG_MEM nodes */
++#define ATAG_MEM 0x54410002
++
++struct tag_mem32 {
++ uint32_t size;
++ uint32_t start; /* physical start address */
++};
++
++/* describes where the compressed ramdisk image lives (virtual address) */
++/*
++ * this one accidentally used virtual addresses - as such,
++ * it's deprecated.
++ */
++#define ATAG_INITRD 0x54410005
++
++/* describes where the compressed ramdisk image lives (physical address) */
++#define ATAG_INITRD2 0x54420005
++
++struct tag_initrd {
++ uint32_t start; /* physical start address */
++ uint32_t size; /* size of compressed ramdisk image in bytes */
++};
++
++/* command line: \0 terminated string */
++#define ATAG_CMDLINE 0x54410009
++
++struct tag_cmdline {
++ char cmdline[1]; /* this is the minimum size */
++};
++
++/* The list ends with an ATAG_NONE node. */
++#define ATAG_NONE 0x00000000
++
++struct tag {
++ struct tag_header hdr;
++ union {
++ struct tag_core core;
++ struct tag_mem32 mem;
++ struct tag_initrd initrd;
++ struct tag_cmdline cmdline;
++ } u;
++};
++
++#define tag_next(t) ((struct tag *)((uint32_t *)(t) + (t)->hdr.size))
++#define byte_size(t) ((t)->hdr.size << 2)
++#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type) + 3) >> 2)
++
+ int zImage_arm_probe(const char *buf, off_t len)
+ {
+ /*
+@@ -14,21 +86,194 @@ int zImage_arm_probe(const char *buf, of
+ */
+ return 0;
+ }
++
+ void zImage_arm_usage(void)
+ {
++ printf( " --command-line=STRING Set the kernel command line to STRING.\n"
++ " --append=STRING Set the kernel command line to STRING.\n"
++ " --initrd=FILE Use FILE as the kernel's initial ramdisk.\n"
++ " --ramdisk=FILE Use FILE as the kernel's initial ramdisk.\n"
++ );
+ }
+-int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
++
++static
++struct tag * atag_read_tags(void)
++{
++ static unsigned long buf[BOOT_PARAMS_SIZE];
++ const char fn[]= "/proc/atags";
++ FILE *fp;
++ fp = fopen(fn, "r");
++ if (!fp) {
++ fprintf(stderr, "Cannot open %s: %s\n",
++ fn, strerror(errno));
++ return NULL;
++ }
++
++ fread(buf, sizeof(buf[1]), BOOT_PARAMS_SIZE, fp);
++ if (ferror(fp)) {
++ fprintf(stderr, "Cannot read %s: %s\n",
++ fn, strerror(errno));
++ fclose(fp);
++ return NULL;
++ }
++
++ fclose(fp);
++ return (struct tag *) buf;
++}
++
++
++static
++int atag_arm_load(struct kexec_info *info, unsigned long base,
++ const char *command_line, off_t command_line_len,
++ const char *initrd, off_t initrd_len)
++{
++ struct tag *saved_tags = atag_read_tags();
++ char *buf;