summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2005-08-14 16:40:05 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-14 16:40:05 +0000
commitef4409bc8d3c40b3ba39d2fe4c91e68785bbd419 (patch)
treefa9776f473f438140f6ea852e0d12967624a7beb /packages
parent1e9f32efa15fcc6649119f0c4c398b3405f6b9c0 (diff)
parentf3ead211477be5319bbb8cb5a983e6ec68dd2a23 (diff)
merge of 38a9824230c1f33aa1b69405d1a6074d1df99753
and d83e77353ac4cf240e630aa66aa54eb794547a60
Diffstat (limited to 'packages')
-rw-r--r--packages/altboot/altboot.bb2
-rw-r--r--packages/altboot/files/akita/altboot.cfg1
-rw-r--r--packages/altboot/files/altboot.func5
-rw-r--r--packages/altboot/files/collie/altboot.cfg1
-rw-r--r--packages/altboot/files/poodle/altboot.cfg1
-rw-r--r--packages/gnet/.mtn2git_empty (renamed from packages/gstreamer/files/.mtn2git_empty)0
-rw-r--r--packages/gnet/gnet_2.0.7.bb10
-rw-r--r--packages/gstreamer/gst-plugins-0.8.8/.mtn2git_empty0
-rw-r--r--packages/gstreamer/gst-plugins-0.8.8/gst-plugins-0.8.8-try-esdsink.patch19
-rw-r--r--packages/gstreamer/gst-plugins-0.8.8/lame-autoconf.patch11
-rw-r--r--packages/gstreamer/gst-plugins/lame-autoconf.patch (renamed from packages/gstreamer/files/lame-autoconf.patch)0
-rw-r--r--packages/gstreamer/gst-plugins/try-esdsink.patch (renamed from packages/gstreamer/files/try-esdsink.patch)0
-rw-r--r--packages/gstreamer/gst-plugins_0.8.8.bb57
-rw-r--r--packages/gstreamer/gstreamer-0.8.10/.mtn2git_empty0
-rw-r--r--packages/gstreamer/gstreamer-0.8.10/filesrc-uri.patch22
-rw-r--r--packages/gstreamer/gstreamer-0.8.9/no-libxml2.patch (renamed from packages/gstreamer/files/no-libxml2.patch)0
-rw-r--r--packages/gstreamer/gstreamer_0.8.10.bb34
-rw-r--r--packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz6
-rw-r--r--packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb10
-rw-r--r--packages/meta/meta-e-x11.bb5
-rw-r--r--packages/meta/openslug-packages.bb1
-rw-r--r--packages/opie-i18n/opie-lrelease-native.inc17
-rw-r--r--packages/opie-i18n/opie-lrelease-native_1.2.0.bb18
-rw-r--r--packages/opie-i18n/opie-lrelease-native_cvs.bb20
-rw-r--r--packages/opie-i18n/opie-lupdate-native.inc18
-rw-r--r--packages/opie-i18n/opie-lupdate-native_1.2.0.bb18
-rw-r--r--packages/opie-i18n/opie-lupdate-native_cvs.bb21
-rw-r--r--packages/ssmtp/ssmtp_2.61.bb6
-rw-r--r--packages/uclibc/uclibc-0.9.27/thumb-interwork-asm.patch326
-rw-r--r--packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch21
-rw-r--r--packages/uclibc/uclibc-0.9.27/thumb-static-main.patch60
-rw-r--r--packages/uclibc/uclibc-0.9.27/ucslugc/.mtn2git_empty0
-rw-r--r--packages/uclibc/uclibc-0.9.27/ucslugc/uClibc.config160
-rw-r--r--packages/uclibc/uclibc_0.9.27.bb19
-rw-r--r--packages/uicmoc/uicmoc3-native_3.3.2.bb15
35 files changed, 813 insertions, 91 deletions
diff --git a/packages/altboot/altboot.bb b/packages/altboot/altboot.bb
index a0b5996d6c..a322dacdd9 100644
--- a/packages/altboot/altboot.bb
+++ b/packages/altboot/altboot.bb
@@ -6,7 +6,7 @@ MAINTAINER = "Matthias 'CoreDump' Hentges <oe@hentges.net>"
LICENSE = "GPL"
-PR = "r7"
+PR = "r8"
SRC_URI = "file://altboot-menu \
diff --git a/packages/altboot/files/akita/altboot.cfg b/packages/altboot/files/akita/altboot.cfg
index 254aac95a2..8361b28f2a 100644
--- a/packages/altboot/files/akita/altboot.cfg
+++ b/packages/altboot/files/akita/altboot.cfg
@@ -6,6 +6,7 @@ TIMEOUT="3"
REAL_INIT="/sbin/init.sysvinit"
SH_SHELL="/bin/sh"
IMAGE_PATH="boot-images"
+IMAGE_TYPE="ext2"
FSCK_IMAGES="yes"
SD_DEVICE="/dev/mmcda1"
SD_KERNEL_MODULE="/lib/modules/2.4.20/kernel/drivers/block/sharp_mmcsd_m.o"
diff --git a/packages/altboot/files/altboot.func b/packages/altboot/files/altboot.func
index 642587b630..0598c8ce93 100644
--- a/packages/altboot/files/altboot.func
+++ b/packages/altboot/files/altboot.func
@@ -151,8 +151,9 @@ pivot_image() {
if [ "$IMAGE_TYPE" = "" ]; then
IMAGE_TYPE="auto"
fi
- mount -t $IMAGE_TYPE /dev/loop0 /media/image || die "mount /dev/loop0 /media/image failed!"
-
+ # If mount fails it has the tendency to spew out a _lot_ of error messages.
+ # We direct the output to /dev/null so the user can see which step actually failed.
+ mount -t $IMAGE_TYPE /dev/loop0 /media/image >/dev/null 2>&1 || die "mount -t $IMAGE_TYPE /dev/loop0 /media/image failed!"
mkdir -p /media/image/media/ROM || die "mkdir -p /media/image/media/ROM failed"
diff --git a/packages/altboot/files/collie/altboot.cfg b/packages/altboot/files/collie/altboot.cfg
index 5b979e7ae4..9d2560f76b 100644
--- a/packages/altboot/files/collie/altboot.cfg
+++ b/packages/altboot/files/collie/altboot.cfg
@@ -7,6 +7,7 @@ TIMEOUT="3"
REAL_INIT="/sbin/init.sysvinit"
SH_SHELL="/bin/sh"
IMAGE_PATH="boot-images"
+IMAGE_TYPE="ext2"
FSCK_IMAGES="no"
SD_DEVICE="/dev/mmcda1"
SD_KERNEL_MODULE="/lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o"
diff --git a/packages/altboot/files/poodle/altboot.cfg b/packages/altboot/files/poodle/altboot.cfg
index 5b979e7ae4..9d2560f76b 100644
--- a/packages/altboot/files/poodle/altboot.cfg
+++ b/packages/altboot/files/poodle/altboot.cfg
@@ -7,6 +7,7 @@ TIMEOUT="3"
REAL_INIT="/sbin/init.sysvinit"
SH_SHELL="/bin/sh"
IMAGE_PATH="boot-images"
+IMAGE_TYPE="ext2"
FSCK_IMAGES="no"
SD_DEVICE="/dev/mmcda1"
SD_KERNEL_MODULE="/lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o"
diff --git a/packages/gstreamer/files/.mtn2git_empty b/packages/gnet/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gstreamer/files/.mtn2git_empty
+++ b/packages/gnet/.mtn2git_empty
diff --git a/packages/gnet/gnet_2.0.7.bb b/packages/gnet/gnet_2.0.7.bb
new file mode 100644
index 0000000000..d5e93c4000
--- /dev/null
+++ b/packages/gnet/gnet_2.0.7.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "GNet is a simple network library. It is written in C, object-oriented, and built upon GLib."
+LICENSE = "LGPL"
+HOMEPAGE = "http://www.gnetlibrary.org/"
+
+SRC_URI = "http://www.gnetlibrary.org/src/gnet-2.0.7.tar.gz"
+DEPENDS = "glib-2.0"
+
+EXTRA_OECONF = "--disable-pthreads"
+
+inherit pkgconfig autotools
diff --git a/packages/gstreamer/gst-plugins-0.8.8/.mtn2git_empty b/packages/gstreamer/gst-plugins-0.8.8/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gstreamer/gst-plugins-0.8.8/.mtn2git_empty
diff --git a/packages/gstreamer/gst-plugins-0.8.8/gst-plugins-0.8.8-try-esdsink.patch b/packages/gstreamer/gst-plugins-0.8.8/gst-plugins-0.8.8-try-esdsink.patch
new file mode 100644
index 0000000000..553c7b4270
--- /dev/null
+++ b/packages/gstreamer/gst-plugins-0.8.8/gst-plugins-0.8.8-try-esdsink.patch
@@ -0,0 +1,19 @@
+--- gst-plugins-0.8.8.orig/gst-libs/gst/gconf/gconf.c 2005-02-02 09:14:01.000000000 +0100
++++ gst-plugins-0.8.8/gst-libs/gst/gconf/gconf.c 2005-08-13 23:28:36.000000000 +0200
+@@ -205,9 +205,13 @@
+ if (!ret) {
+ ret = gst_element_factory_make (DEFAULT_AUDIOSINK, NULL);
+
+- if (!ret)
+- g_warning ("No GConf default audio sink key and %s doesn't work",
+- DEFAULT_AUDIOSINK);
++ if (!ret) {
++ ret = gst_element_factory_make ("esdsink", NULL);
++
++ if (!ret)
++ g_warning ("No GConf default audio sink key and neither %s nor esdsink work",
++ DEFAULT_AUDIOSINK);
++ }
+ }
+
+ return ret;
diff --git a/packages/gstreamer/gst-plugins-0.8.8/lame-autoconf.patch b/packages/gstreamer/gst-plugins-0.8.8/lame-autoconf.patch
new file mode 100644
index 0000000000..6f2a300254
--- /dev/null
+++ b/packages/gstreamer/gst-plugins-0.8.8/lame-autoconf.patch
@@ -0,0 +1,11 @@
+--- gst-plugins-0.8.7/configure.ac.orig 2005-03-03 16:40:45.000000000 +0100
++++ gst-plugins-0.8.7/configure.ac 2005-03-03 16:41:55.000000000 +0100
+@@ -1197,7 +1197,7 @@
+ LAME_LIBS="-lmp3lame -lm"
+ dnl is lame presets available
+ LAME_CFLAGS=""
+- AC_TRY_RUN([
++ AC_TRY_COMPILE([
+ #include <lame/lame.h>
+ int main (int argc, char *argv[])
+ {
diff --git a/packages/gstreamer/files/lame-autoconf.patch b/packages/gstreamer/gst-plugins/lame-autoconf.patch
index 3fb85e7d88..3fb85e7d88 100644
--- a/packages/gstreamer/files/lame-autoconf.patch
+++ b/packages/gstreamer/gst-plugins/lame-autoconf.patch
diff --git a/packages/gstreamer/files/try-esdsink.patch b/packages/gstreamer/gst-plugins/try-esdsink.patch
index 9c6242663c..9c6242663c 100644
--- a/packages/gstreamer/files/try-esdsink.patch
+++ b/packages/gstreamer/gst-plugins/try-esdsink.patch
diff --git a/packages/gstreamer/gst-plugins_0.8.8.bb b/packages/gstreamer/gst-plugins_0.8.8.bb
new file mode 100644
index 0000000000..6b28922f27
--- /dev/null
+++ b/packages/gstreamer/gst-plugins_0.8.8.bb
@@ -0,0 +1,57 @@
+LICENSE = "GPL"
+DESCRIPTION = "Plugins for GStreamer"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+PR = "r0"
+
+DEPENDS = "gstreamer libmikmod libmad libogg tremor libvorbis libid3tag gpe-soundserver gconf"
+
+SRC_URI = "http://gstreamer.freedesktop.org/src/gst-plugins/gst-plugins-${PV}.tar.bz2 \
+ file://gst-plugins-0.8.7-httpsrc1.patch;patch=1 \
+ file://lame-autoconf.patch;patch=1 \
+ file://gst-plugins-0.8.8-try-esdsink.patch;patch=1"
+
+EXTRA_OECONF = "--disable-docs-build --disable-dependency-tracking --disable-aalib --disable-arts \
+ --disable-artsc --disable-jack --disable-libfame --disable-sdl --disable-shout2 \
+ --disable-gnome_vfs --disable-gconf --disable-libcaca --disable-directfb \
+ --disable-cairo"
+
+inherit autotools pkgconfig gconf
+
+acpaths = "-I ${S}/common/m4 -I ${S}/m4"
+
+LIBV = "0.8"
+
+plugin_postinst() {
+ if [ x"$D" = "x" ]; then
+ gst-register --gst-registry=/var/cache/gstreamer-0.8/registry.xml
+ fi
+}
+
+python populate_packages_prepend () {
+ gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d)
+ postinst = bb.data.getVar('plugin_postinst', d, 1)
+
+ do_split_packages(d, gst_libdir, '^libgst(.*)\.so$', 'gst-plugin-%s', 'GStreamer plugin for %s', postinst=postinst)
+ do_split_packages(d, gst_libdir, '^libgst(.*)\.l?a$', 'gst-plugin-%s-dev', 'GStreamer plugin for %s (development files)')
+}
+
+do_stage() {
+ autotools_stage_includes
+ while read a b; do
+ oe_libinstall -C gst-libs/gst/$a -so libgst$b ${STAGING_LIBDIR}
+ done <<EOF
+. interfaces-0.8
+audio audio
+audio audiofilter
+gconf gconf-0.8
+idct idct
+media-info media-info-0.8
+play play-0.8
+resample resample
+riff riff
+video video
+xwindowlistener xwindowlistener
+EOF
+}
diff --git a/packages/gstreamer/gstreamer-0.8.10/.mtn2git_empty b/packages/gstreamer/gstreamer-0.8.10/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gstreamer/gstreamer-0.8.10/.mtn2git_empty
diff --git a/packages/gstreamer/gstreamer-0.8.10/filesrc-uri.patch b/packages/gstreamer/gstreamer-0.8.10/filesrc-uri.patch
new file mode 100644
index 0000000000..0bde73d970
--- /dev/null
+++ b/packages/gstreamer/gstreamer-0.8.10/filesrc-uri.patch
@@ -0,0 +1,22 @@
+Index: gst/elements/gstfilesrc.c
+===================================================================
+RCS file: /cvs/gstreamer/gstreamer/gst/elements/gstfilesrc.c,v
+retrieving revision 1.108.4.3
+diff -u -r1.108.4.3 gstfilesrc.c
+--- gstreamer.orig/gst/elements/gstfilesrc.c 3 Jun 2005 09:29:31 -0000 1.108.4.3
++++ gstreamer/gst/elements/gstfilesrc.c 12 Aug 2005 11:54:38 -0000
+@@ -306,7 +306,13 @@
+ src->filename = NULL;
+ src->uri = NULL;
+ } else {
+- src->filename = g_strdup (location);
++ const gchar *file_prefix = "file://";
++
++ if (g_str_has_prefix (location, file_prefix)) {
++ src->filename = g_strdup (location + strlen (file_prefix));
++ } else {
++ src->filename = g_strdup (location);
++ }
+ src->uri = gst_uri_construct ("file", src->filename);
+ }
+ g_object_notify (G_OBJECT (src), "location");
diff --git a/packages/gstreamer/files/no-libxml2.patch b/packages/gstreamer/gstreamer-0.8.9/no-libxml2.patch
index c676c2387f..c676c2387f 100644
--- a/packages/gstreamer/files/no-libxml2.patch
+++ b/packages/gstreamer/gstreamer-0.8.9/no-libxml2.patch
diff --git a/packages/gstreamer/gstreamer_0.8.10.bb b/packages/gstreamer/gstreamer_0.8.10.bb
new file mode 100644
index 0000000000..7247bd831a
--- /dev/null
+++ b/packages/gstreamer/gstreamer_0.8.10.bb
@@ -0,0 +1,34 @@
+LICENSE = "LGPL"
+PR = "r0"
+
+DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
+It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
+DEPENDS = "glib-2.0 gettext-native popt"
+SECTION = "base"
+PRIORITY = "optional"
+
+FILES_${PN} += " ${libdir}/gstreamer-0.8/*.so"
+FILES_${PN}-dev += " ${libdir}/gstreamer-0.8/*.la ${libdir}/gstreamer-0.8/*.a"
+
+SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2 \
+ file://filesrc-uri.patch;patch=1 \
+ file://gstreamer.xsession"
+
+EXTRA_OECONF = "--disable-docs-build --disable-dependency-tracking --disable-loadsave"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR} \
+ mandir=${STAGING_DIR}/share/man
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/X11/Xsession.d
+ install ${WORKDIR}/gstreamer.xsession ${D}${sysconfdir}/X11/Xsession.d/90gst-register
+}
+
diff --git a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
index 02437440c5..ce1f55b0f9 100644
--- a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
+++ b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.13-rc5-mm1
-# Fri Aug 12 08:40:57 2005
+# Sat Aug 13 23:17:29 2005
#
CONFIG_ARM=y
CONFIG_MMU=y
@@ -160,7 +160,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug "
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug"
# CONFIG_XIP_KERNEL is not set
#
@@ -714,7 +714,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_DEVICE=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_DEVICE=y
-# CONFIG_BACKLIGHT_CORGI is not set
+CONFIG_BACKLIGHT_CORGI=y
#
# Speakup console speech
diff --git a/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb b/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
index fd6dd9ee37..bcc2c13c28 100644
--- a/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
+++ b/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
@@ -5,7 +5,7 @@ LICENSE = "GPL"
#KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
KV = "${@bb.data.getVar('PV',d,True)}"
-PR = "r3"
+PR = "r4"
DOSRC = "http://www.do13.in-berlin.de/openzaurus/patches"
RPSRC = "http://www.rpsys.net/openzaurus/patches"
@@ -79,10 +79,10 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.gz \
${DOSRC}/tosa-2.6.13-r1.patch;patch=1 \
${RPSRC}/temp/tosa-bl-r5.patch;patch=1 \
${RPSRC}/pxa27x_extraregs-r0.patch;patch=1 \
- ${RPSRC}/spitzbase-r0.patch;patch=1 \
+ ${RPSRC}/spitzbase-r1.patch;patch=1 \
${RPSRC}/spitzkbd-r0.patch;patch=1 \
- ${RPSRC}/spitzssp-r0.patch;patch=1 \
- ${RPSRC}/spitzlcd-r0.patch;patch=1 \
+ ${RPSRC}/spitzssp-r1.patch;patch=1 \
+ ${RPSRC}/spitzbl-r0.patch;patch=1 \
file://add-oz-release-string.patch;patch=1 \
file://add-elpp-stuff.patch;patch=1 \
file://pxa-serial-hack.patch;patch=1 \
@@ -110,7 +110,7 @@ SRC_URI_append_tosa = "${DOSRC}/nand-readid-r1.patch;patch=1 \
${DOSRC}/tosa-pxaac97-r1.patch;patch=1 \
${DOSRC}/tosa-bluetooth-r0.patch;patch=1 "
SRC_URI_append_spitz = "${RPSRC}/spitzcf-r0.patch;patch=1 \
- ${RPSRC}/spitzts-r0.patch;patch=1 "
+ ${RPSRC}/spitzts-r1.patch;patch=1 "
S = "${WORKDIR}/linux-2.6.12"
diff --git a/packages/meta/meta-e-x11.bb b/packages/meta/meta-e-x11.bb
index 8c2729dabe..f539dac95a 100644
--- a/packages/meta/meta-e-x11.bb
+++ b/packages/meta/meta-e-x11.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Meta-package for Enlightenment/X11"
LICENSE = "MIT"
PACKAGES = "task-enlightenment-x11"
-PR = "r1"
+PR = "r2"
FEED_URIS += "x11##http://openzaurus.org/official/unstable/3.5.2/feed/x11 \
e##http://openzaurus.org/official/unstable/3.5.2/feed/e"
@@ -11,7 +11,8 @@ ALLOW_EMPTY = 1
#
# X
#
-DEPENDS += "diet-x11 rxvt-unicode xstroke xtscal xrandr xmodmap xdpyinfo fontconfig ttf-bitstream-vera"
+DEPENDS += "diet-x11 rxvt-unicode xstroke xtscal xrandr xmodmap xdpyinfo fontconfig \
+ ttf-bitstream-vera bash"
RDEPENDS += " rxvt-unicode xstroke xtscal xrandr xmodmap xdpyinfo ttf-bitstream-vera"
#
diff --git a/packages/meta/openslug-packages.bb b/packages/meta/openslug-packages.bb
index db150f7972..3cc03058c0 100644
--- a/packages/meta/openslug-packages.bb
+++ b/packages/meta/openslug-packages.bb
@@ -44,6 +44,7 @@ OPENSLUG_PACKAGES = "\
gzip \
iperf \
ipkg-utils \
+ joe \
jpeg \
less \
libpam \
diff --git a/packages/opie-i18n/opie-lrelease-native.inc b/packages/opie-i18n/opie-lrelease-native.inc
new file mode 100644
index 0000000000..16d983693b
--- /dev/null
+++ b/packages/opie-i18n/opie-lrelease-native.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "Opie native i18n tool lrelease"
+SECTION = "opie/base"
+PRIORITY = "optional"
+MAINTAINER = "Holger Freyther <zecke@handhelds.org>"
+LICENSE = "GPL"
+DEPENDS = "uicmoc3-native"
+
+S = "${WORKDIR}/opie-lrelease"
+
+inherit native qmake qt3e
+
+export OE_QMAKE_LINK="${CXX}"
+EXTRA_QMAKEVARS_POST_append = "LIBS+=-ldl"
+
+do_stage() {
+ install -m 0755 opie-lrelease ${STAGING_BINDIR}/
+}
diff --git a/packages/opie-i18n/opie-lrelease-native_1.2.0.bb b/packages/opie-i18n/opie-lrelease-native_1.2.0.bb
index 17a662d957..699a72256c 100644
--- a/packages/opie-i18n/opie-lrelease-native_1.2.0.bb
+++ b/packages/opie-i18n/opie-lrelease-native_1.2.0.bb
@@ -1,21 +1,5 @@
-DESCRIPTION = "Opie native i18n tool lrelease"
-SECTION = "opie/base"
-PRIORITY = "optional"
-MAINTAINER = "Holger Freyther <zecke@handhelds.org>"
-LICENSE = "GPL"
-DEPENDS = "uicmoc3-native"
+include ${PN}.inc
TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/development/translation/opie-lrelease \
${HANDHELDS_CVS};tag=${TAG};module=opie/development/translation/shared"
-
-S = "${WORKDIR}/opie-lrelease"
-
-inherit native qmake
-
-export OE_QMAKE_LINK="${CXX}"
-EXTRA_QMAKEVARS_POST_append = "LIBS+=-ldl"
-
-do_stage() {
- install -m 0755 opie-lrelease ${STAGING_BINDIR}/
-}
diff --git a/packages/opie-i18n/opie-lrelease-native_cvs.bb b/packages/opie-i18n/opie-lrelease-native_cvs.bb
index 637746bdf3..e6809cc9da 100644
--- a/packages/opie-i18n/opie-lrelease-native_cvs.bb
+++ b/packages/opie-i18n/opie-lrelease-native_cvs.bb
@@ -1,21 +1,5 @@
-DESCRIPTION = "Opie native i18n tool lrelease"
-SECTION = "opie/base"
-PRIORITY = "optional"
-MAINTAINER = "Holger Freyther <zecke@handhelds.org>"
-LICENSE = "GPL"
-DEPENDS = "uicmoc3-native"
-PV = "1.2.0+cvs-${CVSDATE}"
+include ${PN}.inc
+PV = "1.2.0+cvs-${CVSDATE}"
SRC_URI = "${HANDHELDS_CVS};module=opie/development/translation/opie-lrelease \
${HANDHELDS_CVS};module=opie/development/translation/shared"
-
-S = "${WORKDIR}/opie-lrelease"
-
-inherit native qmake
-
-export OE_QMAKE_LINK="${CXX}"
-EXTRA_QMAKEVARS_POST_append = "LIBS+=-ldl"
-
-do_stage() {
- install -m 0755 opie-lrelease ${STAGING_BINDIR}/
-}
diff --git a/packages/opie-i18n/opie-lupdate-native.inc b/packages/opie-i18n/opie-lupdate-native.inc
new file mode 100644
index 0000000000..98eb30a864
--- /dev/null
+++ b/packages/opie-i18n/opie-lupdate-native.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "Opie native i18n tool lupdate"
+SECTION = "opie/base"
+PRIORITY = "optional"
+MAINTAINER = "Holger Freyther <zecke@handhelds.org>"
+LICENSE = "GPL"
+DEPENDS = "uicmoc3-native"
+
+S = "${WORKDIR}/opie-lupdate"
+
+inherit native qmake qt3e
+
+export OE_QMAKE_LINK="${CXX}"
+EXTRA_QMAKEVARS_POST_append = "LIBS+=-ldl "
+EXTRA_QMAKEVARS_POST_append = "CONFIG-=thread "
+
+do_stage() {
+ install -m 0755 opie-lupdate ${STAGING_BINDIR}/
+}
diff --git a/packages/opie-i18n/opie-lupdate-native_1.2.0.bb b/packages/opie-i18n/opie-lupdate-native_1.2.0.bb
index 29076a4bd7..d4e7f18284 100644
--- a/packages/opie-i18n/opie-lupdate-native_1.2.0.bb
+++ b/packages/opie-i18n/opie-lupdate-native_1.2.0.bb
@@ -1,22 +1,6 @@
-DESCRIPTION = "Opie native i18n tool lupdate"
-SECTION = "opie/base"
-PRIORITY = "optional"
-MAINTAINER = "Holger Freyther <zecke@handhelds.org>"
-LICENSE = "GPL"
-DEPENDS = "uicmoc3-native"
+include ${PN}.inc
TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/development/translation/opie-lupdate \
${HANDHELDS_CVS};tag=${TAG};module=opie/development/translation/shared"
-S = "${WORKDIR}/opie-lupdate"
-
-inherit native qmake
-
-export OE_QMAKE_LINK="${CXX}"
-EXTRA_QMAKEVARS_POST_append = "LIBS+=-ldl "
-EXTRA_QMAKEVARS_POST_append = "CONFIG-=thread "
-
-do_stage() {
- install -m 0755 opie-lupdate ${STAGING_BINDIR}/
-}
diff --git a/packages/opie-i18n/opie-lupdate-native_cvs.bb b/packages/opie-i18n/opie-lupdate-native_cvs.bb
index acc15176d0..57fba3893e 100644
--- a/packages/opie-i18n/opie-lupdate-native_cvs.bb
+++ b/packages/opie-i18n/opie-lupdate-native_cvs.bb
@@ -1,22 +1,5 @@
-DESCRIPTION = "Opie native i18n tool lupdate"
-SECTION = "opie/base"
-PRIORITY = "optional"
-MAINTAINER = "Holger Freyther <zecke@handhelds.org>"
-LICENSE = "GPL"
-DEPENDS = "uicmoc3-native"
-PV = "1.2.0+cvs-${CVSDATE}"
+include ${PN}.inc
+PV = "1.2.0+cvs-${CVSDATE}"
SRC_URI = "${HANDHELDS_CVS};module=opie/development/translation/opie-lupdate \
${HANDHELDS_CVS};module=opie/development/translation/shared"
-
-S = "${WORKDIR}/opie-lupdate"
-
-inherit native qmake
-
-export OE_QMAKE_LINK="${CXX}"
-EXTRA_QMAKEVARS_POST_append = "LIBS+=-ldl "
-EXTRA_QMAKEVARS_POST_append = "CONFIG-=thread "
-
-do_stage() {
- install -m 0755 opie-lupdate ${STAGING_BINDIR}/
-}
diff --git a/packages/ssmtp/ssmtp_2.61.bb b/packages/ssmtp/ssmtp_2.61.bb
index ddf7d13d19..71a2ef7786 100644
--- a/packages/ssmtp/ssmtp_2.61.bb
+++ b/packages/ssmtp/ssmtp_2.61.bb
@@ -2,7 +2,7 @@ SECTION = "console/network"
DEPENDS = "openssl"
DESCRIPTION = "Extremely simple MTA to get mail off the system to a mail hub."
-PR = "r3"
+PR = "r4"
SRC_URI = "${DEBIAN_MIRROR}/main/s/ssmtp/ssmtp_${PV}.orig.tar.gz \
file://ldflags.patch;patch=1 \
@@ -11,7 +11,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/s/ssmtp/ssmtp_${PV}.orig.tar.gz \
file://ssmtp.conf"
S = "${WORKDIR}/${PN}-2.61"
LICENSE = "GPL"
-CONFFILE = "${sysconfdir}/ssmtp/ssmtp.conf"
+#CONFFILES = "${sysconfdir}/ssmtp/ssmtp.conf ${sysconfdir}/ssmtp/revaliases"
inherit autotools
EXTRA_OECONF = "--enable-ssl"
@@ -28,7 +28,7 @@ do_install () {
}
pkg_postinst () {
- update-alternatives --install ${sbindir}/sendmail sendmail ${bindir}/ssmtp 90
+ update-alternatives --install ${sbindir}/sendmail sendmail ${bindir}/ssmtp 30
}
pkg_postrm () {
diff --git a/packages/uclibc/uclibc-0.9.27/thumb-interwork-asm.patch b/packages/uclibc/uclibc-0.9.27/thumb-interwork-asm.patch
new file mode 100644
index 0000000000..bc99f9a5db
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.27/thumb-interwork-asm.patch
@@ -0,0 +1,326 @@
+--- uClibc-0.9.27/ldso/include/dl-elf.h 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/ldso/include/dl-elf.h 2005-08-12 18:24:43.000000000 -0700
+@@ -112,6 +112,13 @@
+ # define ELF_RTYPE_CLASS_COPY (0x2)
+ #endif
+ #define ELF_RTYPE_CLASS_PLT (0x1)
++/* The type class can be qualified by a list (mask) of the acceptable
++ * STT_ symbol types, if not given the default is everything numerically
++ * <= STT_FUNC (from the original code...)
++ */
++#define ELF_RTYPE_CLASS_OF(type) ((1<<2) << (type))
++#define ELF_RTYPE_CLASS_ALL (0xffff << 2)
++#define ELF_RTYPE_CLASS_DEFAULT (((ELF_RTYPE_CLASS_OF(STT_FUNC) << 1) - 1)&ELF_RTYPE_CLASS_ALL)
+
+
+ /* Convert between the Linux flags for page protections and the
+--- uClibc-0.9.27/ldso/ldso/arm/resolve.S 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/ldso/ldso/arm/resolve.S 2005-08-13 15:08:27.523344709 -0700
+@@ -1,43 +1,117 @@
+ /*
+- * This function is _not_ called directly. It is jumped to (so no return
+- * address is on the stack) when attempting to use a symbol that has not yet
+- * been resolved. The first time a jump symbol (such as a function call inside
+- * a shared library) is used (before it gets resolved) it will jump here to
+- * _dl_linux_resolve. When we get called the stack looks like this:
+- * reloc_entry
+- * tpnt
+- *
+- * This function saves all the registers, puts a copy of reloc_entry and tpnt
+- * on the stack (as function arguments) then make the function call
+- * _dl_linux_resolver(tpnt, reloc_entry). _dl_linux_resolver() figures out
+- * where the jump symbol is _really_ supposed to have jumped to and returns
+- * that to us. Once we have that, we overwrite tpnt with this fixed up
+- * address. We then clean up after ourselves, put all the registers back how we
+- * found them, then we jump to the fixed up address, which is where the jump
+- * symbol that got us here really wanted to jump to in the first place.
+- * -Erik Andersen
++ * On ARM the PLT contains the following three instructions (for ARM calls):
++ *
++ * add ip, pc, #0xNN00000
++ * add ip, ip, #0xNN000
++ * ldr pc, [ip, #0xNNN]!
++ *
++ * So that, effectively, causes the following to happen:
++ *
++ * ip := pc+0x0NNNNNNN
++ * pc := *ip
++ *
++ * For thumb the above fragment is preceded by "bx pc, nop" to switch to ARM
++ * mode and the thumb 'bl' must go to PLT-4 - the PLT entry is expanded by
++ * four bytes to accomodate the trampoline code.
++ *
++ * 0x0NNNNNNN is the offset of the GOT entry for this function relative to
++ * the PLT entry for this function (where the code is). So the code in the
++ * PLT causes a branch to whatever is in the GOT, leaving the actual address
++ * of the GOT entry in ip. (Note that the GOT must follow the PLT - the
++ * added value is 28 bit unsigned).
++ *
++ * ip is a pointer to the GOT entry for this function, the first time round
++ * *ip points to this code:
++ *
++ * str lr, [sp, #-4]! @ save lr
++ * ldr lr, [pc, #4] @ lr := *dat (&GOT_TABLE[0]-.)
++ * add lr, pc, lr @ lr += &dat (so lr == &GOT_TABLE[0])
++ * ldr pc, [lr, #8]! @ pc := GOT_TABLE[2]
++ *dat: .long &GOT_TABLE[0] - .
++ *
++ * (this code is actually held in the first entry of the PLT). The code
++ * preserves lr then uses it as a scratch register (this preserves the ip
++ * value calculated above). GOT_TABLE[2] is initialized by INIT_GOT in
++ * dl-sysdep.h to point to _dl_linux_resolve - this function. The first
++ * three entries in the GOT are reserved, then they are followed by the
++ * entries for the PLT entries, in order.
++ *
++ * The linker initialises the following (non-reserved) GOT entries to
++ * the offset of the PLT with an associated relocation so that on load
++ * the entry is relocated to point to the PLT - the above code.
++ *
++ * The net effect of all this is that on the first call to an external (as
++ * yet unresolved) function all seven of the above instructions are
++ * executed in sequence and the program ends up executing _dl_linux_resolve
++ * with the following important values in registers:
++ *
++ * ip - a pointer to the GOT entry for the as yet unresolved function
++ * lr - &GOT_TABLE[2]
++ *
++ * GOT_TABLE[2] has already been initialised to _dl_linux_resolve, and
++ * GOT_TABLE[1] is a pointer to the (elf_resolve*) from INIT_GOT.
++ * _dl_linux_resolve unfrobnicates the ip and lr values to obtain arguments
++ * for a call to _dl_linux_resolver (not the additional 'r' on the end) -
++ * this is in elfinterp.c in this directory. The call takes arguments:
++ *
++ * _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
++ *
++ * And returns the address of the function, it also overwrites the GOT
++ * table entry so that the next time round only the first code fragment will
++ * be executed - it will call the function directly.
++ *
++ * [[Of course, this simply doesn't work on ARM 4T with a thumb target - because
++ * 4T did not do the thumb/arm change on ldr pc! It can be made to work by
++ * changing _dl_linux_resolver to return __%s_from_arm for an STT_TFUNC, but
++ * this hasn't been done, and there is no guarantee that the linker generated
++ * that glue anyway.]]
++ *
++ * _dl_linux_resolve gets the arguments to call the resolver as follows:
++ *
++ * tpnt GOT_TABLE[1], [lr-4]
++ * reloc-entry &GOT-&GOT_TABLE[3], (ip - lr - 4)/4
++ *
++ * (I.e. 'GOT' means the table entry for this function, the thing for which
++ * ip holds the address.) The reloc-entry is passed as an index, since
++ * since the GOT table has 4 byte entries the code needs to divide this by 4
++ * to get the actual index.
++ *
++ * John Bowler, August 13, 2005 - determined by experiment and examination
++ * of generated ARM code (there was no documentation...)
++ *
++ * This code is all ARM code - not thumb - _dl_linux_resolver may, itself,
++ * be thumb, in which case the linker will insert the appropriate glue. A
++ * call from thumb to the PLT hits the trampoline code described above.
++ * This code (now) builds a proper stack frame.
++ *
++ * The code does *not* set sb (r9,v6) - to do that the basic PLT instructions
++ * would need to save sb and load the new value and that would require
++ * support in the linker since it generates those instructions. (Also note
++ * that linux/uclibc seems to be using r10 - sl - as a PIC base register - see
++ * dl-startup.c).
+ */
+
+-#define sl r10
+-#define fp r11
+-#define ip r12
+-
+ .text
+ .globl _dl_linux_resolve
+ .type _dl_linux_resolve,%function
+ .align 4;
+
+ _dl_linux_resolve:
+- stmdb sp!, {r0, r1, r2, r3, sl, fp}
+- sub r1, ip, lr
+- sub r1, r1, #4
+- add r1, r1, r1
+- ldr r0, [lr, #-4]
+- mov r3,r0
++ @ _dl_linux_resolver is a standard subroutine call, therefore it
++ @ preserves everything except r0-r3 (a1-a4), ip and lr. This
++ @ function must branch to the real function, and that expects
++ @ r0-r3 and lr to be as they were before the whole PLT stuff -
++ @ ip can be trashed.
++ stmdb sp!, {r0-r3}
++ ldr r0, [lr, #-4] @ r0 := [lr-4] (GOT_TABLE[1])
++ sub r1, lr, ip @ r1 := (lr-ip) (a multple of 4)
++ mvn r1, r1, ASR #2 @ r1 := ~((lr-ip)>>2), since -x = (1+~x)
++ @ ~x = -x-1, therefore ~(r1>>2) = (-((lr-ip)>>2)-1)
++ @ = - ((lr-ip)/4) - 1 = (ip - lr - 4)/4, as required
+
+ bl _dl_linux_resolver
+
+- mov ip, r0
+- ldmia sp!, {r0, r1, r2, r3, sl, fp, lr}
+- mov pc,ip
++ mov ip, r0
++ ldmia sp!, {r0-r3, lr}
++ bx ip
+ .size _dl_linux_resolve, .-_dl_linux_resolve
+--- uClibc-0.9.27/ldso/ldso/arm/elfinterp.c 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/ldso/ldso/arm/elfinterp.c 2005-08-13 16:08:19.061345947 -0700
+@@ -128,7 +128,7 @@
+
+ rel_addr = (ELF_RELOC *) (tpnt->dynamic_info[DT_JMPREL] + tpnt->loadaddr);
+
+- this_reloc = rel_addr + (reloc_entry >> 3);
++ this_reloc = rel_addr + reloc_entry;
+ reloc_type = ELF32_R_TYPE(this_reloc->r_info);
+ symtab_index = ELF32_R_SYM(this_reloc->r_info);
+
+@@ -149,13 +149,20 @@
+ got_addr = (char **) instr_addr;
+
+ /* Get the address of the GOT entry */
+- new_addr = _dl_find_hash(symname, tpnt->symbol_scope,
+- tpnt, ELF_RTYPE_CLASS_PLT);
+- if (unlikely(!new_addr)) {
+- _dl_dprintf(2, "%s: can't resolve symbol '%s'\n",
+- _dl_progname, symname);
+- _dl_exit(1);
+- };
++ new_addr = _dl_find_hash(symname, tpnt->symbol_scope, tpnt,
++ ELF_RTYPE_CLASS_PLT+ELF_RTYPE_CLASS_OF(STT_FUNC));
++ if (!new_addr) {
++ new_addr = _dl_find_hash(symname, tpnt->symbol_scope, tpnt,
++ ELF_RTYPE_CLASS_PLT+ELF_RTYPE_CLASS_OF(STT_ARM_TFUNC));
++ if (new_addr) {
++ /* Fix up the address for thumb. */
++ new_addr = (char*)((unsigned long)new_addr | 1);
++ } else {
++ _dl_dprintf(2, "%s: can't resolve symbol '%s'\n",
++ _dl_progname, symname);
++ _dl_exit(1);
++ }
++ }
+ #if defined (__SUPPORT_LD_DEBUG__)
+ if ((unsigned long) got_addr < 0x40000000)
+ {
+@@ -278,7 +285,8 @@
+ if (symtab_index) {
+
+ symbol_addr = (unsigned long) _dl_find_hash(strtab + symtab[symtab_index].st_name,
+- scope, tpnt, elf_machine_type_class(reloc_type));
++ scope, tpnt, elf_machine_type_class(reloc_type) +
++ ELF_RTYPE_CLASS_DEFAULT + ELF_RTYPE_CLASS_OF(STT_ARM_TFUNC));
+
+ /*
+ * We want to allow undefined references to weak symbols - this might
+--- uClibc-0.9.27/ldso/ldso/dl-hash.c 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/ldso/ldso/dl-hash.c 2005-08-12 18:28:05.000000000 -0700
+@@ -148,7 +148,11 @@
+ char *weak_result = NULL;
+
+ elf_hash_number = _dl_elf_hash(name);
+-
++ /* The type class argument may specify the valid symbol types, if not
++ * any type <= STT_FUNC is permitted.
++ */
++ if ((type_class & ELF_RTYPE_CLASS_ALL) == 0)
++ type_class += ELF_RTYPE_CLASS_DEFAULT;
+ for (; rpnt; rpnt = rpnt->next) {
+ tpnt = rpnt->dyn;
+
+@@ -178,13 +182,16 @@
+ for (si = tpnt->elf_buckets[hn]; si != STN_UNDEF; si = tpnt->chains[si]) {
+ sym = &symtab[si];
+
++ /*... nb, ELF_RTYPE_CLASS_PLT is, must be, "1" - at least
++ * it must be for the following to work.
++ */
+ if (type_class & (sym->st_shndx == SHN_UNDEF))
+ continue;
+- if (_dl_strcmp(strtab + sym->st_name, name) != 0)
+- continue;
+ if (sym->st_value == 0)
+ continue;
+- if (ELF32_ST_TYPE(sym->st_info) > STT_FUNC)
++ if ((ELF_RTYPE_CLASS_OF(ELF32_ST_TYPE(sym->st_info)) & type_class) == 0)
++ continue;
++ if (_dl_strcmp(strtab + sym->st_name, name) != 0)
+ continue;
+
+ switch (ELF32_ST_BIND(sym->st_info)) {
+--- uClibc-0.9.27/libc/sysdeps/linux/arm/clone.S 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/libc/sysdeps/linux/arm/clone.S 2005-08-13 11:56:47.275679748 -0700
+@@ -49,12 +49,13 @@
+ swi __NR_clone
+ movs a1, a1
+ blt __syscall_error (PLT)
+- movne pc, lr
++ bxne lr
+
+ @ pick the function arg and call address off the stack and execute
+ ldr r0, [sp, #4]
++ ldr ip, [sp]
+ mov lr, pc
+- ldr pc, [sp]
++ bx ip
+
+ @ and we are done, passing the return value through r0
+ b _exit (PLT)
+@@ -70,7 +71,7 @@
+
+ /* return -1 */
+ mvn r0, $0
+- mov pc, lr
++ bx lr
+ .size __clone,.-__clone;
+
+ .L4: .word errno
+--- uClibc-0.9.27/libc/sysdeps/linux/arm/mmap64.S 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/libc/sysdeps/linux/arm/mmap64.S 2005-08-13 12:20:35.633560643 -0700
+@@ -44,7 +44,7 @@
+ mov ip, r0
+ swi __NR_mmap2
+ cmn r0, $4096
+- ldmccfd sp!, {r4, r5, pc}
++ ldmccfd sp!, {r4, r5, pc} @ requires >=5T
+ cmn r0, $ENOSYS
+ ldmnefd sp!, {r4, r5, lr}
+ bne __syscall_error (PLT)
+@@ -71,7 +71,7 @@
+
+ /* return -1 */
+ mvn r0, $0
+- mov pc, lr
++ bx lr
+ .size mmap64,.-mmap64;
+
+ .L4: .word errno
+--- uClibc-0.9.27/libc/sysdeps/linux/arm/vfork.S 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/libc/sysdeps/linux/arm/vfork.S 2005-08-13 12:23:27.500375540 -0700
+@@ -37,7 +37,7 @@
+ #ifdef __NR_vfork
+ swi __NR_vfork
+ cmn r0, #4096
+- movcc pc, lr
++ bxcc lr
+
+ /* Check if vfork even exists. */
+ ldr r1, =-ENOSYS
+@@ -50,7 +50,7 @@
+ cmn r0, #4096
+
+ /* Syscal worked. Return to child/parent */
+- movcc pc, lr
++ bxcc lr
+
+ __syscall_error:
+
+@@ -64,7 +64,7 @@
+
+ /* return -1 */
+ mvn r0, $0
+- mov pc, lr
++ bx lr
+
+ .L4: .word errno
+
diff --git a/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch b/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch
new file mode 100644
index 0000000000..9d3cb6bbab
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch
@@ -0,0 +1,21 @@
+--- /home/work-tmp/jbowler/nslu2/ucslugc.0807/work/uclibc-0.9.27-r5/uClibc-0.9.27/ldso/ldso/arm/dl-startup.h 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/ldso/ldso/arm/dl-startup.h 2005-08-11 23:40:01.393797745 -0700
+@@ -7,6 +7,9 @@
+
+ /* Overrive the default _dl_boot function, and replace it with a bit of asm.
+ * Then call the real _dl_boot function, which is now named _dl_boot2. */
++/*NOTE: the 'bx' instruction at the end replaces mov pc, r6 - which is not
++ * compatible with thumb interworking. The instruction should be supported
++ * on all modern ARM architectures (because they all support thumb). */
+ asm("" \
+ " .text\n" \
+ " .globl _dl_boot\n" \
+@@ -17,7 +20,7 @@
+ " bl _dl_boot2\n" \
+ " mov r6, r0\n" \
+ " mov r0, r7\n" \
+-" mov pc, r6\n" \
++" bx r6\n" \
+ );
+
+ #define DL_BOOT(X) static __attribute_used__ void* _dl_boot2 (X)
diff --git a/packages/uclibc/uclibc-0.9.27/thumb-static-main.patch b/packages/uclibc/uclibc-0.9.27/thumb-static-main.patch
new file mode 100644
index 0000000000..5b82f39bbf
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.27/thumb-static-main.patch
@@ -0,0 +1,60 @@
+# This patch almost works, it allows a statically linked application
+# to be compiled with a thumb main and to have this work from a
+# non-thumb uClibc build. However it stops the same thing working
+# in the dynamically linked case (because the value of 'main' doesn't
+# have the low bit set when loaded - something must be wrong with the
+# relocation for STT_ARM_TFUNC?) At present it is not included for
+# this reason.
+--- uClibc-0.9.27/libc/misc/internals/__uClibc_main.c 2005-08-13 18:04:09.078682965 -0700
++++ uClibc-0.9.27/libc/misc/internals/__uClibc_main.c 2005-08-13 18:07:38.159839613 -0700
+@@ -32,6 +32,13 @@
+ /*
+ * Prototypes.
+ */
++#if (defined __arm__ || defined __thumb__) && defined __THUMB_INTERWORK__ && defined __linux__
++/* Because when linking statically the GNU linker provides no glue for
++ * main, so if main is thumb and we are arm or vice versa the static
++ * link fails.
++ */
++# define main __arm_main
++#endif
+ extern int main(int argc, char **argv, char **envp);
+ extern void weak_function _stdio_init(void);
+ extern int *weak_const_function __errno_location(void);
+--- uClibc-0.9.27/libc/sysdeps/linux/arm/Makefile 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/libc/sysdeps/linux/arm/Makefile 2005-08-13 18:08:08.953777353 -0700
+@@ -25,7 +25,7 @@
+ CTOR_TARGETS=$(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o
+
+ SSRC=__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S \
+- bsd-_setjmp.S sigrestorer.S mmap64.S
++ bsd-_setjmp.S sigrestorer.S mmap64.S mainglue.S
+ SOBJS=$(patsubst %.S,%.o, $(SSRC))
+
+ CSRC=brk.c syscall.c ioperm.c sigaction.c
+--- uClibc-0.9.27/.pc/thumb-static-main.patch/libc/sysdeps/linux/arm/mainglue.S 2005-08-13 18:20:44.181300825 -0700
++++ uClibc-0.9.27/libc/sysdeps/linux/arm/mainglue.S 2005-08-13 19:11:05.031390937 -0700
+@@ -0,0 +1,23 @@
++/*
++ * Apparently the GNU linker doesn't generate the 'glue' code
++ * required for ARM/thumb interwork for the 'main' function -
++ * presumably glibc doesn't need it, but uClibc does.
++ *
++ * We can't provide this stuff, because the linker expects to
++ * have generated the glue code itself and asserts if the code
++ * is not in memory (because it has been read from a pre-existing
++ * definition), therefore we must avoid the glue - so we make
++ * __uClibc_main call __arm_main and define it here (in arm
++ * code).
++ */
++#if defined __THUMB_INTERWORK__
++ .text
++ .arm
++ .global __arm_main
++ .type __arm_main, %function
++__arm_main:
++ ldr ip, [pc]
++ bx ip
++ .word main
++ .size __arm_main,.-__arm_main
++#endif
diff --git a/packages/uclibc/uclibc-0.9.27/ucslugc/.mtn2git_empty b/packages/uclibc/uclibc-0.9.27/ucslugc/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.27/ucslugc/.mtn2git_empty
diff --git a/packages/uclibc/uclibc-0.9.27/ucslugc/uClibc.config b/packages/uclibc/uclibc-0.9.27/ucslugc/uClibc.config
new file mode 100644
index 0000000000..7c8196e93b
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.27/ucslugc/uClibc.config
@@ -0,0 +1,160 @@
+#
+# Automatically generated make config: don't edit
+#
+# TARGET_alpha is not set
+TARGET_arm=y
+# TARGET_bfin is not set
+# TARGET_cris is not set
+# TARGET_e1 is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_i386 is not set
+# TARGET_i960 is not set
+# TARGET_m68k is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nios is not set
+# TARGET_nios2 is not set
+# TARGET_powerpc is not set
+# TARGET_sh is not set
+# TARGET_sparc is not set
+# TARGET_v850 is not set
+
+#
+# Target Architecture Features and Options
+#
+HAVE_ELF=y
+ARCH_SUPPORTS_LITTLE_ENDIAN=y
+TARGET_ARCH="arm"
+ARCH_SUPPORTS_BIG_ENDIAN=y
+CONFIG_GENERIC_ARM=y
+# CONFIG_ARM610 is not set
+# CONFIG_ARM710 is not set
+# CONFIG_ARM720T is not set
+# CONFIG_ARM920T is not set
+# CONFIG_ARM922T is not set
+# CONFIG_ARM926T is not set
+# CONFIG_ARM_SA110 is not set
+# CONFIG_ARM_SA1100 is not set
+# CONFIG_ARM_XSCALE is not set
+# ARCH_LITTLE_ENDIAN is not set
+ARCH_BIG_ENDIAN=y
+# ARCH_HAS_NO_MMU is not set
+ARCH_HAS_MMU=y
+UCLIBC_HAS_FLOATS=y
+# HAS_FPU is not set
+UCLIBC_HAS_SOFT_FLOAT=y
+DO_C99_MATH=y
+WARNINGS="-Wall"
+KERNEL_SOURCE="/home/work-tmp/jbowler/nslu2/ucslugc/cross/armeb-linux-uclibc/include"
+C_SYMBOL_PREFIX=""
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+# HAVE_NO_PIC is not set
+DOPIC=y
+# HAVE_NO_SHARED is not set
+HAVE_SHARED=y
+# ARCH_HAS_NO_LDSO is not set
+BUILD_UCLIBC_LDSO=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+UCLIBC_CTOR_DTOR=y
+# HAS_NO_THREADS is not set
+UCLIBC_HAS_THREADS=y
+PTHREADS_DEBUG_SUPPORT=y
+UCLIBC_HAS_LFS=y
+# UCLIBC_STATIC_LDCONFIG is not set
+# MALLOC is not set
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+MALLOC_GLIBC_COMPAT=y
+UCLIBC_DYNAMIC_ATEXIT=y
+HAS_SHADOW=y
+UNIX98PTY_ONLY=y
+ASSUME_DEVPTS=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+
+#
+# Networking Support
+#
+UCLIBC_HAS_IPV6=y
+UCLIBC_HAS_RPC=y
+UCLIBC_HAS_FULL_RPC=y
+
+#
+# String and Stdio Support
+#
+# UCLIBC_HAS_STRING_GENERIC_OPT is not set
+# UCLIBC_HAS_STRING_ARCH_OPT is not set
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
+# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
+UCLIBC_HAS_STDIO_BUFSIZ_256=y
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_GLOB=y
+
+#
+# Library Installation Options
+#
+SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib"
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="//usr"
+
+#
+# uClibc security related options
+#
+# UCLIBC_SECURITY is not set
+
+#
+# uClibc development/debugging options
+#
+# DODEBUG is not set
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MJN3_ONLY is not set
diff --git a/packages/uclibc/uclibc_0.9.27.bb b/packages/uclibc/uclibc_0.9.27.bb
index 7ae11507c6..89f1b80831 100644
--- a/packages/uclibc/uclibc_0.9.27.bb
+++ b/packages/uclibc/uclibc_0.9.27.bb
@@ -1,5 +1,5 @@
DEFAULT_PREFERENCE = "1"
-PR = "r6"
+PR = "r7"
include uclibc.inc
@@ -19,4 +19,21 @@ SRC_URI += "${PATCH_ipc_h}"
SRC_URI += " file://thumb-swi.patch;patch=1"
SRC_URI += " file://thumb-swp.patch;patch=1"
SRC_URI += " file://arm-thumb-defined.patch;patch=1"
+
+# ARM thumb interworking - these changes fix various bugs in the
+# uclibc implementation of thumb interwork support, but they are
+# insufficient on their own - it is also necessary (at present)
+# to *disable* the uClibc ARM specific string code (the assembler
+# doesn't support interworking). Since these patches do actually
+# change the non-interwork case and make things incompatible with
+# older (pre armv4t) ARMs they are condition on the thumb-interwork
+# override (i.e. the *distro* has to add this to OVERRIDES).
+ARM_THUMB_INTERWORK_PATCHES = ""
+ARM_THUMB_INTERWORK_PATCHES_thumb-interwork = ""
+ARM_THUMB_INTERWORK_PATCHES_thumb-interwork += " file://thumb-ldso-dlboot.patch;patch=1"
+ARM_THUMB_INTERWORK_PATCHES_thumb-interwork += " file://thumb-interwork-asm.patch;patch=1"
+# See the comments in the patch - this doesn't work.
+#ARM_THUMB_INTERWORK_PATCHES_thumb-interwork += " file://thumb-static-main.patch;patch=1"
+SRC_URI += "${ARM_THUMB_INTERWORK_PATCHES}"
+
S = "${WORKDIR}/uClibc-${PV}"
diff --git a/packages/uicmoc/uicmoc3-native_3.3.2.bb b/packages/uicmoc/uicmoc3-native_3.3.2.bb
index 582fbe80ef..3871c80c04 100644
--- a/packages/uicmoc/uicmoc3-native_3.3.2.bb
+++ b/packages/uicmoc/uicmoc3-native_3.3.2.bb
@@ -8,7 +8,7 @@ SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-free-3.3.2.tar.bz2 \
S = "${WORKDIR}/qt-embedded-free-3.3.2"
-inherit native qmake-base
+inherit native qmake-base qt3e
export QTDIR = "${S}"
export OE_QMAKE_LINK="${CXX}"
@@ -28,6 +28,15 @@ do_configure() {
}
do_stage() {
- install -m 0755 bin/moc ${STAGING_BINDIR}/moc3
- install -m 0755 bin/uic ${STAGING_BINDIR}/uic3
+ install -d ${OE_QMAKE_INCDIR_QT}
+ install -d ${OE_QMAKE_LIBDIR_QT}
+
+ install -m 0755 bin/moc ${OE_QMAKE_UIC}
+ install -m 0755 bin/uic ${OE_QMAKE_MOC}
+ install -m 0655 lib/*.a ${OE_QMAKE_LIBDIR_QT}
+
+ for f in include/*.h
+ do
+ install -m 0644 $f ${OE_QMAKE_INCDIR_QT}/
+ done
}