diff options
37 files changed, 561 insertions, 131 deletions
diff --git a/classes/efl.bbclass b/classes/efl.bbclass index b7bb87360d..f160ee8a90 100644 --- a/classes/efl.bbclass +++ b/classes/efl.bbclass @@ -44,8 +44,9 @@ do_stage_append () { done } -PACKAGES = "${SRCNAME}-dev ${SRCNAME}-examples ${SRCNAME}" +PACKAGES = "${SRCNAME}-dev ${SRCNAME}-examples ${SRCNAME}-themes ${SRCNAME}" FILES_${SRCNAME} = "${libdir}" +FILES_${SRCNAME}-theme = "${datadir}/${SRCNAME}/themes" FILES_${SRCNAME}-dev += "${bindir}/${SRCNAME}-config ${libdir}/pkgconfig" FILES_${SRCNAME}-examples = "${bindir} ${datadir}" diff --git a/conf/distro/openslug-packages.conf b/conf/distro/openslug-packages.conf index c26fde443a..0c7b93dd19 100644 --- a/conf/distro/openslug-packages.conf +++ b/conf/distro/openslug-packages.conf @@ -21,6 +21,7 @@ ${PKGDIR}/packages/coreutils/*.bb \ ${PKGDIR}/packages/cpio/*.bb \ ${PKGDIR}/packages/cron/*.bb \ ${PKGDIR}/packages/ctorrent/*.bb \ +${PKGDIR}/packages/ctrlproxy/*.bb \ ${PKGDIR}/packages/cvs/*.bb \ ${PKGDIR}/packages/cyrus-imapd/*.bb \ ${PKGDIR}/packages/cyrus-sasl/*.bb \ diff --git a/packages/altboot/altboot.bb b/packages/altboot/altboot.bb index cf0d9c563e..a0b5996d6c 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 = "r6" +PR = "r7" SRC_URI = "file://altboot-menu \ diff --git a/packages/binutils/binutils_2.15.94.0.1.bb b/packages/binutils/binutils_2.15.94.0.1.bb index f8d39b1720..5edf4548a3 100644 --- a/packages/binutils/binutils_2.15.94.0.1.bb +++ b/packages/binutils/binutils_2.15.94.0.1.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/binutils/" SECTION = "devel" LICENSE = "GPL" MAINTAINER = "Gerald Britton <gbritton@doomcom.org>" -PR = "r0" +PR = "r1" inherit autotools gettext @@ -69,14 +69,14 @@ export LD_FOR_TARGET = "${TARGET_PREFIX}ld" export NM_FOR_TARGET = "${TARGET_PREFIX}nm" export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib" -export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc" -export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc" +export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}" +export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}" export CC_FOR_BUILD = "${BUILD_CC}" export CPP_FOR_BUILD = "${BUILD_CPP}" export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}" -export CC = "${CCACHE} ${HOST_PREFIX}gcc" +export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}" do_configure () { (cd ${S}; gnu-configize) || die "Failed to run gnu-configize" diff --git a/packages/ctorrent/ctorrent_1.3.4.bb b/packages/ctorrent/ctorrent_1.3.4.bb index 55b2fb91df..087823cdb4 100644 --- a/packages/ctorrent/ctorrent_1.3.4.bb +++ b/packages/ctorrent/ctorrent_1.3.4.bb @@ -1,8 +1,11 @@ include ctorrent.inc -PR = "r3" +PR = "r4" -SRC_URI += "file://nogetwd.patch;patch=1 \ +SRC_URI += "file://configure.patch;patch=1 \ + file://align.patch;patch=1 \ + file://nogetwd.patch;patch=1 \ file://crash.patch;patch=1 \ file://fmt.patch;patch=1 \ file://stall.patch;patch=1 \ - file://tracker.patch;patch=1" + file://tracker.patch;patch=1 \ + file://passkey.patch;patch=1" diff --git a/packages/ctorrent/files/configure.patch b/packages/ctorrent/files/configure.patch new file mode 100644 index 0000000000..95fe5cc2be --- /dev/null +++ b/packages/ctorrent/files/configure.patch @@ -0,0 +1,29 @@ +diff -ur ctorrent/configure ctorrent.new/configure +--- ctorrent/configure 2004-09-09 00:10:51.000000000 +0100 ++++ ctorrent.new/configure 2005-01-23 18:29:34.000000000 +0000 +@@ -3216,13 +3216,13 @@ + + else + +-echo "$as_me:$LINENO: checking for SHA1_Init in -lcrypt" >&5 +-echo $ECHO_N "checking for SHA1_Init in -lcrypt... $ECHO_C" >&6 ++echo "$as_me:$LINENO: checking for SHA1_Init in -lcrypto" >&5 ++echo $ECHO_N "checking for SHA1_Init in -lcrypto... $ECHO_C" >&6 + if test "${ac_cv_lib_crypt_SHA1_Init+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lcrypt $LIBS" ++LIBS="-lcrypto $LIBS" + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ +@@ -3275,7 +3275,7 @@ + #define HAVE_LIBCRYPT 1 + _ACEOF + +- LIBS="-lcrypt $LIBS" ++ LIBS="-lcrypto $LIBS" + + else + diff --git a/packages/ctorrent/files/passkey.patch b/packages/ctorrent/files/passkey.patch new file mode 100644 index 0000000000..3debc44599 --- /dev/null +++ b/packages/ctorrent/files/passkey.patch @@ -0,0 +1,16 @@ +*** ctorrent/httpencode.cpp.orig Thu Sep 9 01:10:51 2004 +--- ctorrent/httpencode.cpp Thu Aug 4 15:00:45 2005 +*************** +*** 88,94 **** +--- 88,98 ---- + + /* path */ + if( *p != '/' ) return -1; ++ #if 1 /* The passkey patch */ ++ for( ; *p; p++,path++) *path = *p; ++ #else + for( ; *p && *p != '?'; p++,path++) *path = *p; ++ #endif + *path = '\0'; + return 0; + } diff --git a/packages/ctrlproxy/ctrlproxy_2.6.2.bb b/packages/ctrlproxy/ctrlproxy_2.6.2.bb index 3eb809edb0..b3de2db061 100644 --- a/packages/ctrlproxy/ctrlproxy_2.6.2.bb +++ b/packages/ctrlproxy/ctrlproxy_2.6.2.bb @@ -6,7 +6,7 @@ DEPENDS = "glib-2.0 libxml2 popt pcre openssl" PR = "r0" LICENSE = "GPL" -SRC_URI = "http://ctrlproxy.vernstok.nl/releases/ctrlproxy-2.6.2.tar.gz" +SRC_URI = "http://sources.nslu2-linux.org/sources/ctrlproxy-2.6.2.tar.gz" S = "${WORKDIR}/ctrlproxy-2.6.2/" inherit autotools diff --git a/packages/db/db_4.3.27.bb b/packages/db/db_4.3.27.bb index 3a233dcff1..216fb5714b 100644 --- a/packages/db/db_4.3.27.bb +++ b/packages/db/db_4.3.27.bb @@ -49,7 +49,12 @@ DB4_CONFIG ?= "--enable-o_direct --enable-smallbuild" # the default - "POSIX/pthreads/library". # Don't ignore the nice SWP instruction on the ARM: EXTRA_OECONF = "${DB4_CONFIG}" -EXTRA_OECONF_nslu2 = "${DB4_CONFIG} --with-mutex=ARM/gcc-assembly" +# These enable the ARM assembler mutex code, this won't +# work with thumb compilation... +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" +ARM_MUTEX_thumb = "" +# NOTE: only tested on nslu2, should probably be _armeb +EXTRA_OECONF_nslu2 = "${DB4_CONFIG} ${ARM_MUTEX}" # Cancel the site stuff - it's set for db3 and destroys the # configure. diff --git a/packages/e17/entice_20050810.bb b/packages/e17/entice_20050810.bb index 529f2e3b4c..fc4d8c51af 100644 --- a/packages/e17/entice_20050810.bb +++ b/packages/e17/entice_20050810.bb @@ -1,10 +1,10 @@ DESCRIPTION = "Entice is a picture viewer" SECTION = "e/apps" -DEPENDS = "freetype eet evas ecore embryo imlib2 edje-native" +DEPENDS = "freetype eet virtual/evas virtual/ecore embryo virtual/imlib2 edje-native" LICENSE = "MIT" HOMEPAGE = "http://www.enlightenment.org" MAINTAINER = "Justin Patrin <papercrane@reversefold.com>" -CVSDATE = "${PV} +CVSDATE = "${PV}" PR = "r0" SRC_URI = "cvs://anonymous@cvs.sourceforge.net/cvsroot/enlightenment;module=e17/apps/entice" diff --git a/packages/gcc/gcc-3.4.4/gcc34-configure.in.patch b/packages/gcc/gcc-3.4.4/gcc34-configure.in.patch new file mode 100644 index 0000000000..3d33bcb978 --- /dev/null +++ b/packages/gcc/gcc-3.4.4/gcc34-configure.in.patch @@ -0,0 +1,22 @@ +--- gcc-3.4.4/configure.in.orig 2005-08-09 19:57:51.504323183 -0700 ++++ gcc-3.4.4/configure.in 2005-08-09 20:00:12.073168623 -0700 +@@ -1907,7 +1907,7 @@ + *) gxx_include_dir=${with_gxx_include_dir} ;; + esac + +-FLAGS_FOR_TARGET= ++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" + case " $target_configdirs " in + *" newlib "*) + case " $target_configargs " in +--- gcc-3.4.4/configure.orig 2005-08-09 21:02:29.668360660 -0700 ++++ gcc-3.4.4/configure 2005-08-09 21:02:50.157649970 -0700 +@@ -2669,7 +2669,7 @@ + *) gxx_include_dir=${with_gxx_include_dir} ;; + esac + +-FLAGS_FOR_TARGET= ++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" + case " $target_configdirs " in + *" newlib "*) + case " $target_configargs " in diff --git a/packages/gcc/gcc-3.4.4/gcc34-thumb-clearinsn.patch b/packages/gcc/gcc-3.4.4/gcc34-thumb-clearinsn.patch new file mode 100644 index 0000000000..57ccb85361 --- /dev/null +++ b/packages/gcc/gcc-3.4.4/gcc34-thumb-clearinsn.patch @@ -0,0 +1,26 @@ +--- gcc-3.4.4/gcc/config/arm/linux-gas.h.orig 2005-08-09 08:10:22.809195204 -0700 ++++ gcc-3.4.4/gcc/config/arm/linux-gas.h 2005-08-09 08:13:06.539498102 -0700 +@@ -56,6 +56,7 @@ + + /* Clear the instruction cache from `beg' to `end'. This makes an + inline system call to SYS_cacheflush. */ ++#if !defined(__thumb__) + #define CLEAR_INSN_CACHE(BEG, END) \ + { \ + register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \ +@@ -65,3 +66,15 @@ + : "=r" (_beg) \ + : "0" (_beg), "r" (_end), "r" (_flg)); \ + } ++#else ++#define CLEAR_INSN_CACHE(BEG, END) \ ++{ \ ++ register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \ ++ register unsigned long _end __asm ("a2") = (unsigned long) (END); \ ++ register unsigned long _flg __asm ("a3") = 0; \ ++ register unsigned long _swi __asm ("r7") = 0x9f0002; \ ++ __asm __volatile ("swi 0 @ sys_cacheflush" \ ++ : "=r" (_beg) \ ++ : "0" (_beg), "r" (_end), "r" (_flg), "r" (_swi)); \ ++} ++#endif diff --git a/packages/gcc/gcc-3.4.4/gcc34-thumb-div0.patch b/packages/gcc/gcc-3.4.4/gcc34-thumb-div0.patch new file mode 100644 index 0000000000..d57a420053 --- /dev/null +++ b/packages/gcc/gcc-3.4.4/gcc34-thumb-div0.patch @@ -0,0 +1,11 @@ +--- gcc-3.4.4/gcc/config/arm/lib1funcs.asm.orig 2005-08-09 07:58:42.717141188 -0700 ++++ gcc-3.4.4/gcc/config/arm/lib1funcs.asm 2005-08-09 07:58:45.425311603 -0700 +@@ -816,7 +816,7 @@ + #define __NR_kill (__NR_SYSCALL_BASE+ 37) + + .code 32 +- FUNC_START div0 ++ ARM_FUNC_START div0 + + stmfd sp!, {r1, lr} + swi __NR_getpid diff --git a/packages/gcc/gcc-3.4.4/gcc34-thumb-lib1asmfuncs.patch b/packages/gcc/gcc-3.4.4/gcc34-thumb-lib1asmfuncs.patch new file mode 100644 index 0000000000..c3972d7ece --- /dev/null +++ b/packages/gcc/gcc-3.4.4/gcc34-thumb-lib1asmfuncs.patch @@ -0,0 +1,10 @@ +--- gcc-3.4.4/gcc/config/arm/t-linux.orig 2005-08-09 08:55:02.181797492 -0700 ++++ gcc-3.4.4/gcc/config/arm/t-linux 2005-08-09 08:58:22.766419486 -0700 +@@ -7,6 +7,7 @@ + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \ + _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ + _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ ++ _call_via_rX _interwork_call_via_rX \ + _fixsfsi _fixunssfsi + + # MULTILIB_OPTIONS = mhard-float/msoft-float diff --git a/packages/gcc/gcc-cross_3.4.4.bb b/packages/gcc/gcc-cross_3.4.4.bb index b261db4c1f..c111ac00b7 100644 --- a/packages/gcc/gcc-cross_3.4.4.bb +++ b/packages/gcc/gcc-cross_3.4.4.bb @@ -5,7 +5,7 @@ inherit cross FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" # NOTE: split PR. If the main .oe changes something that affects its *build* # remember to increment this one too. -PR = "r0" +PR = "r1" DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc" PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" diff --git a/packages/gcc/gcc3-build-cross.inc b/packages/gcc/gcc3-build-cross.inc index 0893e4b97c..a41ae11d64 100644 --- a/packages/gcc/gcc3-build-cross.inc +++ b/packages/gcc/gcc3-build-cross.inc @@ -13,7 +13,7 @@ do_compile_prepend () { export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib" export LD_FOR_TARGET="${TARGET_SYS}-ld" export NM_FOR_TARGET="${TARGET_SYS}-nm" - export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc" + export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}" } do_stage_append () { diff --git a/packages/gcc/gcc3-build.inc b/packages/gcc/gcc3-build.inc index 09e0b31910..a09c6cf1f5 100644 --- a/packages/gcc/gcc3-build.inc +++ b/packages/gcc/gcc3-build.inc @@ -44,6 +44,12 @@ EXTRA_OECONF_glibc = "--enable-__cxa_atexit" EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}" CPPFLAGS = "" +# Used by configure to define additional values for FLAGS_FOR_TARGET - +# passed to all the compilers. +ARCH_FLAGS_FOR_TARGET = "" +ARCH_FLAGS_FOR_TARGET_nslu2 = "${TARGET_CC_ARCH}" +EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'" + def get_gcc_fpu_setting(bb, d): if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: return "--with-float=soft" @@ -59,10 +65,14 @@ python __anonymous () { do_configure () { # Setup these vars for cross building only + # ... because foo_FOR_TARGET apparently gets misinterpreted inside the + # gcc build stuff when the build is producing a cross compiler - i.e. + # when the 'current' target is the 'host' system, and the host is not + # the target (because the build is actually making a cross compiler!) if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then - export CC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc" - export GCC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc" - export CXX_FOR_TARGET="${CCACHE} ${HOST_PREFIX}g++" + export CC_FOR_TARGET="${CC}" + export GCC_FOR_TARGET="${CC}" + export CXX_FOR_TARGET="${CXX}" export AS_FOR_TARGET="${HOST_PREFIX}as" export LD_FOR_TARGET="${HOST_PREFIX}ld" export NM_FOR_TARGET="${HOST_PREFIX}nm" @@ -75,6 +85,7 @@ do_configure () { export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}" export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}" export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}" + export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}" (cd ${S} && gnu-configize) || die "failure running gnu-configize" oe_runconf } diff --git a/packages/gcc/gcc_3.4.4.bb b/packages/gcc/gcc_3.4.4.bb index 263d78396c..f4a67b77c2 100644 --- a/packages/gcc/gcc_3.4.4.bb +++ b/packages/gcc/gcc_3.4.4.bb @@ -1,4 +1,4 @@ -PR = "r1" +PR = "r2" DESCRIPTION = "The GNU cc and gcc C compilers." HOMEPAGE = "http://www.gnu.org/software/gcc/" SECTION = "devel" @@ -24,4 +24,9 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://15342.patch;patch=1 \ file://always-fixincperm.patch;patch=1" +SRC_URI += "file://gcc34-thumb-div0.patch;patch=1" +SRC_URI += "file://gcc34-thumb-clearinsn.patch;patch=1" +SRC_URI += "file://gcc34-thumb-lib1asmfuncs.patch;patch=1" +SRC_URI += "file://gcc34-configure.in.patch;patch=1" + include gcc3-build.inc diff --git a/packages/icecast/icecast_2.2.0.bb b/packages/icecast/icecast_2.2.0.bb index 0612c28da5..1511f6dcfc 100644 --- a/packages/icecast/icecast_2.2.0.bb +++ b/packages/icecast/icecast_2.2.0.bb @@ -2,6 +2,8 @@ DEPENDS = "libxslt" PR = "r1" MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org" +DEPENDS = "libvorbis libogg" + SRC_URI = "http://downloads.us.xiph.org/releases/icecast/${PN}-${PV}.tar.gz" S = "${WORKDIR}/${PN}-${PV}" diff --git a/packages/libmad/libmad_0.15.0b.bb b/packages/libmad/libmad_0.15.0b.bb index 910399f8b3..51402d2f01 100644 --- a/packages/libmad/libmad_0.15.0b.bb +++ b/packages/libmad/libmad_0.15.0b.bb @@ -11,6 +11,8 @@ S = "${WORKDIR}/libmad-${PV}" inherit autotools EXTRA_OECONF = "-enable-speed --enable-shared" +# The ASO's don't take any account of thumb... +EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default" do_configure_prepend () { # damn picky automake... diff --git a/packages/libvorbis/libvorbis_1.0.1.bb b/packages/libvorbis/libvorbis_1.0.1.bb index 89bae8f858..3a3ab73eeb 100644 --- a/packages/libvorbis/libvorbis_1.0.1.bb +++ b/packages/libvorbis/libvorbis_1.0.1.bb @@ -9,6 +9,10 @@ file://m4.patch;patch=1" inherit autotools pkgconfig +# vorbisfile.c reveals a problem in the gcc register spilling for the +# thumb instruction set... +FULL_OPTIMIZATION_thumb = "-O0" + EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \ --with-ogg-includes=${STAGING_INCDIR}" diff --git a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/add-elpp-stuff.patch b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/add-elpp-stuff.patch index 85d07191b9..04ab185f4f 100644 --- a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/add-elpp-stuff.patch +++ b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/add-elpp-stuff.patch @@ -3,10 +3,8 @@ # Patch managed by http://www.holgerschurig.de/patcher.html # -Index: linux-2.6.12/Documentation/fb/elpp.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.12/Documentation/fb/elpp.txt 2005-07-24 18:21:08.000000000 +0100 +--- /dev/null ++++ linux-2.6.12/Documentation/fb/elpp.txt @@ -0,0 +1,181 @@ + + ELPP, The Enhanced Linux Progress Patch v1.0 @@ -189,10 +187,8 @@ Index: linux-2.6.12/Documentation/fb/elpp.txt + ----------------------------------------- + Comments, queries and changes welcome at: + Matthias Kunze <elpp at foofighter.de> -Index: linux-2.6.12/drivers/video/Kconfig -=================================================================== ---- linux-2.6.12.orig/drivers/video/Kconfig 2005-07-24 18:20:46.000000000 +0100 -+++ linux-2.6.12/drivers/video/Kconfig 2005-07-24 18:21:08.000000000 +0100 +--- linux-2.6.12/drivers/video/Kconfig~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/Kconfig @@ -108,6 +108,11 @@ This is particularly important to one driver, matroxfb. If unsure, say N. @@ -205,10 +201,8 @@ Index: linux-2.6.12/drivers/video/Kconfig config FB_CIRRUS tristate "Cirrus Logic support" depends on FB && (ZORRO || PCI) -Index: linux-2.6.12/drivers/video/console/Makefile -=================================================================== ---- linux-2.6.12.orig/drivers/video/console/Makefile 2005-07-24 18:20:21.000000000 +0100 -+++ linux-2.6.12/drivers/video/console/Makefile 2005-07-24 18:21:08.000000000 +0100 +--- linux-2.6.12/drivers/video/console/Makefile~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/console/Makefile @@ -31,6 +31,8 @@ obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o endif @@ -218,10 +212,8 @@ Index: linux-2.6.12/drivers/video/console/Makefile obj-$(CONFIG_FB_STI) += sticore.o font.o # Targets that kbuild needs to know about -Index: linux-2.6.12/drivers/video/console/elpp.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.12/drivers/video/console/elpp.c 2005-07-24 18:21:08.000000000 +0100 +--- /dev/null ++++ linux-2.6.12/drivers/video/console/elpp.c @@ -0,0 +1,685 @@ + +/* @@ -908,10 +900,8 @@ Index: linux-2.6.12/drivers/video/console/elpp.c + return -1; +} + -Index: linux-2.6.12/drivers/video/console/fbcon.c -=================================================================== ---- linux-2.6.12.orig/drivers/video/console/fbcon.c 2005-07-24 18:20:21.000000000 +0100 -+++ linux-2.6.12/drivers/video/console/fbcon.c 2005-07-24 18:21:08.000000000 +0100 +--- linux-2.6.12/drivers/video/console/fbcon.c~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/console/fbcon.c @@ -91,6 +91,9 @@ #include <asm/machdep.h> #include <asm/setup.h> @@ -931,7 +921,7 @@ Index: linux-2.6.12/drivers/video/console/fbcon.c static signed char con2fb_map_boot[MAX_NR_CONSOLES]; static int logo_height; static int logo_lines; -@@ -996,6 +999,19 @@ +@@ -997,6 +1000,19 @@ softback_top = 0; } } @@ -951,7 +941,7 @@ Index: linux-2.6.12/drivers/video/console/fbcon.c } static void fbcon_deinit(struct vc_data *vc) -@@ -1996,6 +2012,12 @@ +@@ -1997,6 +2013,12 @@ logo_shown = fg_console; /* This is protected above by initmem_freed */ fb_show_logo(info); @@ -964,10 +954,8 @@ Index: linux-2.6.12/drivers/video/console/fbcon.c update_region(vc, vc->vc_origin + vc->vc_size_row * vc->vc_top, vc->vc_size_row * (vc->vc_bottom - -Index: linux-2.6.12/drivers/video/console/symbols_16x16.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.12/drivers/video/console/symbols_16x16.c 2005-07-24 18:21:08.000000000 +0100 +--- /dev/null ++++ linux-2.6.12/drivers/video/console/symbols_16x16.c @@ -0,0 +1,123 @@ + +#include <linux/font.h> @@ -1092,11 +1080,9 @@ Index: linux-2.6.12/drivers/video/console/symbols_16x16.c + 0 +}; + -Index: linux-2.6.12/drivers/video/fbmem.c -=================================================================== ---- linux-2.6.12.orig/drivers/video/fbmem.c 2005-07-24 18:20:37.000000000 +0100 -+++ linux-2.6.12/drivers/video/fbmem.c 2005-07-24 18:21:08.000000000 +0100 -@@ -360,7 +360,13 @@ +--- linux-2.6.12/drivers/video/fbmem.c~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/fbmem.c +@@ -362,7 +362,13 @@ fb_logo.depth = 4; else fb_logo.depth = 1; @@ -1110,7 +1096,7 @@ Index: linux-2.6.12/drivers/video/fbmem.c } int fb_show_logo(struct fb_info *info) -@@ -410,11 +416,22 @@ +@@ -412,11 +418,22 @@ image.width = fb_logo.logo->width; image.height = fb_logo.logo->height; @@ -1133,10 +1119,8 @@ Index: linux-2.6.12/drivers/video/fbmem.c info->fbops->fb_imageblit(info, &image); } -Index: linux-2.6.12/drivers/video/logo/Makefile -=================================================================== ---- linux-2.6.12.orig/drivers/video/logo/Makefile 2005-07-24 18:20:21.000000000 +0100 -+++ linux-2.6.12/drivers/video/logo/Makefile 2005-07-24 18:22:21.000000000 +0100 +--- linux-2.6.12/drivers/video/logo/Makefile~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/logo/Makefile @@ -13,6 +13,7 @@ obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo_superh_vga16.o obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o @@ -1145,10 +1129,8 @@ Index: linux-2.6.12/drivers/video/logo/Makefile # How to generate logo's -Index: linux-2.6.12/drivers/video/logo/logo.c -=================================================================== ---- linux-2.6.12.orig/drivers/video/logo/logo.c 2005-07-24 18:20:21.000000000 +0100 -+++ linux-2.6.12/drivers/video/logo/logo.c 2005-07-24 18:23:04.000000000 +0100 +--- linux-2.6.12/drivers/video/logo/logo.c~add-elpp-stuff.patch ++++ linux-2.6.12/drivers/video/logo/logo.c @@ -14,6 +14,10 @@ #include <linux/stddef.h> #include <linux/module.h> @@ -1182,10 +1164,8 @@ Index: linux-2.6.12/drivers/video/logo/logo.c } return logo; } -Index: linux-2.6.12/drivers/video/logo/logo_linux_elpp.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.12/drivers/video/logo/logo_linux_elpp.c 2005-07-24 18:21:08.000000000 +0100 +--- /dev/null ++++ linux-2.6.12/drivers/video/logo/logo_linux_elpp.c @@ -0,0 +1,25669 @@ +/* + * DO NOT EDIT THIS FILE! @@ -26856,10 +26836,8 @@ Index: linux-2.6.12/drivers/video/logo/logo_linux_elpp.c + .data = logo_linux_elpp_data +}; + -Index: linux-2.6.12/include/linux/elpp.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.12/include/linux/elpp.h 2005-07-24 18:21:08.000000000 +0100 +--- /dev/null ++++ linux-2.6.12/include/linux/elpp.h @@ -0,0 +1,96 @@ + +/* @@ -26957,10 +26935,8 @@ Index: linux-2.6.12/include/linux/elpp.h +extern struct elpp_struct elpp; + +#endif -Index: linux-2.6.12/init/main.c -=================================================================== ---- linux-2.6.12.orig/init/main.c 2005-07-24 18:20:41.000000000 +0100 -+++ linux-2.6.12/init/main.c 2005-07-24 18:21:08.000000000 +0100 +--- linux-2.6.12/init/main.c~add-elpp-stuff.patch ++++ linux-2.6.12/init/main.c @@ -108,6 +108,12 @@ enum system_states system_state; EXPORT_SYMBOL(system_state); @@ -26974,7 +26950,7 @@ Index: linux-2.6.12/init/main.c /* * Boot command-line arguments */ -@@ -523,6 +529,9 @@ +@@ -533,6 +539,9 @@ signals_init(); /* rootfs populating might need page-writeback */ page_writeback_init(); @@ -26984,7 +26960,7 @@ Index: linux-2.6.12/init/main.c #ifdef CONFIG_PROC_FS proc_root_init(); #endif -@@ -564,7 +573,7 @@ +@@ -574,7 +583,7 @@ } (*call)(); @@ -26993,7 +26969,7 @@ Index: linux-2.6.12/init/main.c msg = NULL; if (preempt_count() != count) { msg = "preemption imbalance"; -@@ -631,6 +640,13 @@ +@@ -641,6 +650,13 @@ #ifdef CONFIG_SMP int i; diff --git a/packages/meta/openslug-packages.bb b/packages/meta/openslug-packages.bb index ee2cef1d9e..db150f7972 100644 --- a/packages/meta/openslug-packages.bb +++ b/packages/meta/openslug-packages.bb @@ -1,84 +1,65 @@ DESCRIPTION = "Packages that are compatible with the OpenSlug firmware" LICENSE = MIT -PR = "r4" +PR = "r5" INHIBIT_DEFAULT_DEPS = "1" ALLOW_EMPTY = 1 PACKAGES = "${PN}" -OPENSLUG_DEVELOPMENT = "\ +OPENSLUG_PACKAGES = "\ + atftp \ autoconf \ automake \ bash \ + bind \ binutils \ bison \ - bzip2 \ - coreutils \ - cvs \ - diffutils \ - findutils \ - flex \ - gawk \ - gcc \ - gdb \ - gnu-config \ - grep \ - gzip \ - ipkg-utils \ - libtool \ - lsof \ - m4 \ - make \ - monotone-4 monotone-5 \ - ncurses \ - openssh \ - patch \ - pciutils \ - perl \ - pkgconfig \ - quilt \ - sed \ - strace \ - tar \ - util-linux \ - " - - -OPENSLUG_PACKAGES = "\ - atftp \ - bash \ - bind \ bluez-utils-nodbus \ bridge-utils \ bwmon \ + bzip2 \ ccxstream \ coreutils \ cron \ ctorrent \ + ctrlproxy \ cvs\ cyrus-imapd \ db4 \ diffstat \ + diffutils \ dnsmasq \ expat \ + findutils \ + flex \ ftpd-topfield \ + gawk \ + gcc \ + gdb \ glib-2.0 \ + gnu-config \ gphoto2 \ + grep \ gtk-doc \ - icecast \ + gzip \ iperf \ - ifupdown \ + ipkg-utils \ jpeg \ less \ libpam \ libpng \ + libtool \ libusb \ libxml2 \ + lsof \ + m4 \ mailx \ + make \ man man-pages \ mgetty \ miau \ microcom \ + monotone-5 \ mpd \ mt-daapd \ mutt \ @@ -86,6 +67,7 @@ OPENSLUG_PACKAGES = "\ nail \ nano \ ncftp \ + ncurses \ netpbm \ nfs-utils \ ntp \ @@ -94,8 +76,12 @@ OPENSLUG_PACKAGES = "\ openntpd \ openssh \ openvpn \ + patch \ + pciutils \ pcre \ + perl \ php \ + pkgconfig \ postfix \ ppp \ procps \ @@ -103,22 +89,25 @@ OPENSLUG_PACKAGES = "\ puppy \ pwc \ python \ + quilt \ reiserfsprogs reiser4progs \ rsync \ samba \ sane-backends \ screen \ + sed \ setpwc \ ssmtp \ strace \ streamripper \ sudo \ sysfsutils \ - thttpd \ + tar \ thttpd \ tiff \ timezones \ unionfs-modules unionfs-utils \ + util-linux \ vlan \ wakelan \ watchdog \ @@ -129,10 +118,11 @@ OPENSLUG_PACKAGES = "\ " BROKEN_PACKAGES = "\ + groff \ + icecast \ " DEPENDS = 'openslug-image \ ${OPENSLUG_PACKAGES} \ - ${OPENSLUG_DEVELOPMENT} \ openslug-native \ package-index' diff --git a/packages/meta/ucslugc-packages.bb b/packages/meta/ucslugc-packages.bb index e9377823b6..82d9dfd633 100644 --- a/packages/meta/ucslugc-packages.bb +++ b/packages/meta/ucslugc-packages.bb @@ -14,6 +14,7 @@ PACKAGES = "${PN}" # KEEP IN ALPHABETICAL ORDER UCSLUGC_PACKAGES = "\ atftp \ + audiofile \ autoconf \ automake \ bash \ @@ -36,6 +37,7 @@ UCSLUGC_PACKAGES = "\ dnsmasq \ expat \ findutils \ + flac \ flex \ ftpd-topfield \ gawk \ @@ -50,9 +52,15 @@ UCSLUGC_PACKAGES = "\ ipkg-utils \ jpeg \ less \ + libao \ + libid3tag \ + libmad \ + libmikmod \ + libogg \ libpng \ libtool \ libusb \ + libvorbis \ libxml2 \ lsof \ m4 \ @@ -120,6 +128,13 @@ UCSLUGC_BROKEN_PACKAGES = "\ xinetd \ " +# These packages have problems with thumb or thumb-interwork compilation - they +# should really be fixed (if still in the build it is because there is a hacky +# work round.) The problem here is that _call_via_r2 is apparently inaccessible +# under some circumstances. +THUMB_BROKEN_PACKAGES = "\ + " + # These packages will never build because uclibc lacks (and always will lack) # appropriate support. This define is for documentation of this fact! The # normal cause is that the package uses the "NIS" interfaces (once known as diff --git a/packages/musicpd/mpd_0.11.2.bb b/packages/musicpd/mpd_0.11.2.bb index 51067a5c7a..395d69e79e 100644 --- a/packages/musicpd/mpd_0.11.2.bb +++ b/packages/musicpd/mpd_0.11.2.bb @@ -4,15 +4,18 @@ LICENSE = "GPLv2" MAINTAINER = "Chris Larson <kergoth@handhelds.org>" SECTION = "console/multimedia" DEPENDS = "libvorbis libogg libid3tag libao zlib libmikmod libmad flac audiofile" -PR = "r1" +PR = "r2" SRC_URI = "${SOURCEFORGE_MIRROR}/musicpd/mpd-${PV}.tar.gz" inherit autotools +# Setting --enable-mpd-{mad,id3tag} causes local caches of the libraries to +# be built, instead we use the OE built versions which should be installed +# in staging - remove the --with and replace with --enable to use the local +# versions. + EXTRA_OECONF = "--enable-ogg \ - --enable-mpd-mad \ - --enable-mpd-id3tag \ --with-id3tag-libraries=${STAGING_LIBDIR} \ --with-id3tag-includes=${STAGING_INCDIR} \ --with-mad-libraries=${STAGING_LIBDIR} \ diff --git a/packages/nail/files/.mtn2git_empty b/packages/nail/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/nail/files/.mtn2git_empty diff --git a/packages/nail/files/nail.spec.diff b/packages/nail/files/nail.spec.diff new file mode 100644 index 0000000000..2d8bd0704f --- /dev/null +++ b/packages/nail/files/nail.spec.diff @@ -0,0 +1,11 @@ +--- nail-11.21/nail.spec.orig 2005-08-11 16:57:23.893061048 +0200 ++++ nail-11.21/nail.spec 2005-08-11 16:57:35.244335392 +0200 +@@ -38,7 +38,7 @@ + %define sysconfdir /etc + %define mailrc %{sysconfdir}/nail.rc + %define mailspool /var/mail +-%define sendmail /usr/lib/sendmail ++%define sendmail /usr/sbin/sendmail + %define ucbinstall install + %define cflags -O2 -fomit-frame-pointer + %define cppflags -D_GNU_SOURCE diff --git a/packages/nail/nail_11.21.bb b/packages/nail/nail_11.21.bb index 7253ed0821..7da09d2715 100644 --- a/packages/nail/nail_11.21.bb +++ b/packages/nail/nail_11.21.bb @@ -3,10 +3,12 @@ SECTION = "console/network" PRIORITY = "optional" MAINTAINER = "NSLU2 Linux <nslu2-linux@yahoogroups.com>" DEPENDS = "openssl" -PR = "r0" +PR = "r1" LICENSE = "GPL" -SRC_URI = "http://optusnet.dl.sourceforge.net/sourceforge/nail/nail-11.21.tar.bz2" +SRC_URI = "http://optusnet.dl.sourceforge.net/sourceforge/nail/nail-11.21.tar.bz2 \ + file://nail.spec.diff;patch=1" + S = "${WORKDIR}/nail-11.21/" inherit autotools diff --git a/packages/postfix/postfix_2.0.20.bb b/packages/postfix/postfix_2.0.20.bb index a23ac2f3e2..4ef569b309 100644 --- a/packages/postfix/postfix_2.0.20.bb +++ b/packages/postfix/postfix_2.0.20.bb @@ -1,7 +1,7 @@ SECTION = "console/network" DEPENDS = "db3 pcre postfix-native" LICENSE = "IPL" -PR = "r3" +PR = "r4" SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ file://${FILESDIR}/makedefs.patch;patch=1 \ @@ -37,6 +37,7 @@ do_install () { install -m 755 ${WORKDIR}/main.cf_2.0 ${D}/var/tmp/main_cf.sh install -m 644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/01_postfix install -m 755 ${WORKDIR}/postfix ${D}${sysconfdir}/init.d/postfix + mv ${D}${sbindir}/sendmail ${D}${sbindir}/sendmail.${PN} } pkg_postinst () { @@ -55,5 +56,9 @@ pkg_postinst () { /etc/init.d/populate-volatile.sh touch /etc/aliases newaliases + update-alternatives --install sendmail sendmail ${sbindir}/sendmail.${PN} 40 } +pkg_postrm () { + update-alternatives --remove sendmail ${sbindir}/sendmail +} diff --git a/packages/ppp/ppp_2.4.3.bb b/packages/ppp/ppp_2.4.3.bb index f01813bf60..da1516ff8e 100644 --- a/packages/ppp/ppp_2.4.3.bb +++ b/packages/ppp/ppp_2.4.3.bb @@ -9,6 +9,7 @@ SRC_URI = "ftp://ftp.samba.org/pub/ppp/ppp-${PV}.tar.gz \ file://makefile.patch;patch=1 \ file://cifdefroute.patch;patch=1 \ file://pppd-resolv-varrun.patch;patch=1 \ + file://ranlib.patch;patch=1 \ file://pon \ file://poff \ file://init \ diff --git a/packages/uclibc/uclibc-0.9.27/arm-thumb-defined.patch b/packages/uclibc/uclibc-0.9.27/arm-thumb-defined.patch new file mode 100644 index 0000000000..675ab6f5c0 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.27/arm-thumb-defined.patch @@ -0,0 +1,84 @@ +--- uClibc-0.9.27/ldso/include/dl-string.h.orig 2005-08-09 18:16:50.618935711 -0700 ++++ uClibc-0.9.27/ldso/include/dl-string.h 2005-08-09 18:17:02.279669474 -0700 +@@ -250,7 +250,7 @@ + } + + +-#if defined(mc68000) || defined(__arm__) || defined(__mips__) || defined(__sh__) || defined(__powerpc__) ++#if defined(mc68000) || defined(__arm__) || defined(__mips__) || defined(__sh__) || defined(__powerpc__) || defined(__thumb__) + /* On some arches constant strings are referenced through the GOT. */ + /* XXX Requires load_addr to be defined. */ + #define SEND_STDERR(X) \ +--- uClibc-0.9.27/ldso/ldso/dl-startup.c.orig 2005-08-09 18:17:02.307671237 -0700 ++++ uClibc-0.9.27/ldso/ldso/dl-startup.c 2005-08-09 18:19:40.633634061 -0700 +@@ -137,7 +137,7 @@ + /* First obtain the information on the stack that tells us more about + what binary is loaded, where it is loaded, etc, etc */ + GET_ARGV(aux_dat, args); +-#if defined (__arm__) || defined (__mips__) || defined (__cris__) ++#if defined (__arm__) || defined (__mips__) || defined (__cris__) || defined(__thumb__) + aux_dat += 1; + #endif + argc = *(aux_dat - 1); +@@ -200,7 +200,7 @@ + __asm__("movel %%a5,%0":"=g"(got)); + #elif defined(__sparc__) + __asm__("\tmov %%l7,%0\n\t":"=r"(got)); +-#elif defined(__arm__) ++#elif defined(__arm__) || defined(__thumb__) + __asm__("\tmov %0, r10\n\t":"=r"(got)); + #elif defined(__powerpc__) + __asm__("\tbl _GLOBAL_OFFSET_TABLE_-4@local\n\t":"=l"(got)); +--- uClibc-0.9.27/libc/sysdeps/linux/common/create_module.c.orig 2005-08-09 18:19:40.769642620 -0700 ++++ uClibc-0.9.27/libc/sysdeps/linux/common/create_module.c 2005-08-09 18:19:58.442754719 -0700 +@@ -31,7 +31,7 @@ + + #ifdef __NR_create_module + +-#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__cris__) || defined(__i960__) ++#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__cris__) || defined(__i960__) || defined(__thumb__) + #define __NR___create_module __NR_create_module + #ifdef __STR_NR_create_module + #define __STR_NR___create_module __STR_NR_create_module +--- uClibc-0.9.27/libc/sysdeps/linux/common/iopl.c.orig 2005-08-09 18:20:02.302997628 -0700 ++++ uClibc-0.9.27/libc/sysdeps/linux/common/iopl.c 2005-08-09 18:20:12.327628439 -0700 +@@ -9,7 +9,7 @@ + + #include "syscalls.h" + /* For arm there is a totally different implementation */ +-#if !defined(__arm__) ++#if !defined(__arm__) && !defined(__thumb__) + /* Tuns out the m68k unistd.h kernel header is broken */ + # if defined __ARCH_HAS_MMU__ && defined __NR_iopl && ( !defined(__mc68000__)) + _syscall1(int, iopl, int, level); +--- uClibc-0.9.27/libm/math_private.h.orig 2005-08-09 18:20:18.584022129 -0700 ++++ uClibc-0.9.27/libm/math_private.h 2005-08-09 18:21:26.280281986 -0700 +@@ -40,7 +40,7 @@ + * For VFP, floats words follow the memory system mode. + */ + +-#if (__BYTE_ORDER == __BIG_ENDIAN) || defined(__arm__) && !defined(__VFP_FP__) ++#if (__BYTE_ORDER == __BIG_ENDIAN) || (defined(__arm__) || defined(__thumb__)) && !defined(__VFP_FP__) + + typedef union + { +@@ -54,7 +54,7 @@ + + #endif + +-#if (__BYTE_ORDER == __LITTLE_ENDIAN) && (!defined(__arm__) || defined(__VFP_FP__)) ++#if (__BYTE_ORDER == __LITTLE_ENDIAN) && ((!defined(__arm__) && !defined(__thumb__)) || defined(__VFP_FP__)) + + typedef union + { +--- uClibc-0.9.27/utils/ldd.c.orig 2005-08-09 18:21:27.724372857 -0700 ++++ uClibc-0.9.27/utils/ldd.c 2005-08-09 18:23:13.018998630 -0700 +@@ -51,7 +51,7 @@ + #include <dmalloc.h> + #endif + +-#if defined(__arm__) ++#if defined(__arm__) || defined(__thumb__) + #define MATCH_MACHINE(x) (x == EM_ARM) + #define ELFCLASSM ELFCLASS32 + #endif diff --git a/packages/uclibc/uclibc-0.9.27/thumb-swi.patch b/packages/uclibc/uclibc-0.9.27/thumb-swi.patch new file mode 100644 index 0000000000..a6929a9fc5 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.27/thumb-swi.patch @@ -0,0 +1,82 @@ +--- uClibc-0.9.27/.pc/thumb-swi.patch/libc/sysdeps/linux/arm/bits/syscalls.h 2005-01-11 23:59:21.000000000 -0800 ++++ uClibc-0.9.27/libc/sysdeps/linux/arm/bits/syscalls.h 2005-08-08 21:04:11.081932985 -0700 +@@ -97,6 +97,7 @@ + #define INTERNAL_SYSCALL_DECL(err) do { } while (0) + + #undef INTERNAL_SYSCALL ++#if !defined(__thumb__) + #define INTERNAL_SYSCALL(name, err, nr, args...) \ + ({ unsigned int _sys_result; \ + { \ +@@ -109,6 +110,21 @@ + _sys_result = _a1; \ + } \ + (int) _sys_result; }) ++#else ++#define INTERNAL_SYSCALL(name, err, nr, args...) \ ++ ({ unsigned int _sys_result; \ ++ { \ ++ register int _a1 asm ("a1"); \ ++ LOAD_ARGS_##nr (args) \ ++ register int _r7 asm ("r7") = (int) (SYS_ify(name)); \ ++ asm volatile ("swi 0 @ syscall " #name \ ++ : "=r" (_a1) \ ++ : "r" (_r7) ASM_ARGS_##nr \ ++ : "memory"); \ ++ _sys_result = _a1; \ ++ } \ ++ (int) _sys_result; }) ++#endif + + #undef INTERNAL_SYSCALL_ERROR_P + #define INTERNAL_SYSCALL_ERROR_P(val, err) \ +--- uClibc-0.9.27/libc/sysdeps/linux/arm/brk.c.orig 2005-01-11 23:59:21.000000000 -0800 ++++ uClibc-0.9.27/libc/sysdeps/linux/arm/brk.c 2005-08-09 12:44:56.000000000 -0700 +@@ -26,14 +26,7 @@ + + int brk (void *addr) + { +- void *newbrk; +- +- asm ("mov a1, %1\n" /* save the argment in r0 */ +- "swi %2\n" /* do the system call */ +- "mov %0, a1;" /* keep the return value */ +- : "=r"(newbrk) +- : "r"(addr), "i" (__NR_brk) +- : "a1"); ++ void *newbrk = (void*)INTERNAL_SYSCALL(brk, , 1, addr); + + __curbrk = newbrk; + +--- uClibc-0.9.27/libc/sysdeps/linux/arm/syscall.c.orig 2005-08-09 12:51:10.681364959 -0700 ++++ uClibc-0.9.27/libc/sysdeps/linux/arm/syscall.c 2005-08-09 12:52:43.371197563 -0700 +@@ -26,6 +26,7 @@ + + long syscall(long sysnum, long a, long b, long c, long d, long e, long f) + { ++#if !defined(__thumb__) + register long _r0 asm("r0")=(long)(sysnum); + register long _r6 asm("r6")=(long)(f); + register long _r5 asm("r5")=(long)(e); +@@ -40,6 +41,21 @@ + "r"(_r2), "r"(_r3), "r"(_r4), "r"(_r5), + "r"(_r6) + : "memory"); ++#else ++ register long _r7 asm("r7")=(long)(sysnum); ++ register long _r5 asm("r5")=(long)(f); ++ register long _r4 asm("r4")=(long)(e); ++ register long _r3 asm("r3")=(long)(d); ++ register long _r2 asm("r2")=(long)(c); ++ register long _r1 asm("r1")=(long)(b); ++ register long _r0 asm("r0")=(long)(a); ++ asm volatile( ++ "swi 0" ++ : "=r"(_r0) ++ : "r"(_r0), "r"(_r1), "r"(_r2), "r"(_r3), ++ "r"(_r4), "r"(_r5), "r"(_r7) ++ : "memory"); ++#endif + if(_r0 >=(unsigned long) -4095) { + long err = _r0; + (*__errno_location())=(-err); diff --git a/packages/uclibc/uclibc-0.9.27/thumb-swp.patch b/packages/uclibc/uclibc-0.9.27/thumb-swp.patch new file mode 100644 index 0000000000..89171f735d --- /dev/null +++ b/packages/uclibc/uclibc-0.9.27/thumb-swp.patch @@ -0,0 +1,102 @@ +--- uClibc-0.9.27/libc/sysdeps/linux/arm/bits/atomicity.h.orig 2005-08-09 13:12:59.663734027 -0700 ++++ uClibc-0.9.27/libc/sysdeps/linux/arm/bits/atomicity.h 2005-08-09 17:54:14.581605661 -0700 +@@ -31,12 +31,23 @@ + int tmp2; + int result; + __asm__ ("\n" ++#if defined(__thumb__) ++ "\t.align 0\n" ++ "\tbx pc\n" ++ "\tnop\n" ++ "\t.arm\n" ++#endif + "0:\tldr\t%0,[%3]\n\t" + "add\t%1,%0,%4\n\t" + "swp\t%2,%1,[%3]\n\t" + "cmp\t%0,%2\n\t" + "swpne\t%1,%2,[%3]\n\t" + "bne\t0b" ++#if defined(__thumb__) ++ "\torr %1, pc, #1\n" ++ "\tbx %1\n" ++ "\t.force_thumb" ++#endif + : "=&r" (result), "=&r" (tmp1), "=&r" (tmp2) + : "r" (mem), "r"(val) + : "cc", "memory"); +@@ -51,12 +62,23 @@ + int tmp2; + int tmp3; + __asm__ ("\n" ++#if defined(__thumb__) ++ "\t.align 0\n" ++ "\tbx pc\n" ++ "\tnop\n" ++ "\t.arm\n" ++#endif + "0:\tldr\t%0,[%3]\n\t" + "add\t%1,%0,%4\n\t" + "swp\t%2,%1,[%3]\n\t" + "cmp\t%0,%2\n\t" + "swpne\t%1,%2,[%3]\n\t" + "bne\t0b" ++#if defined(__thumb__) ++ "\torr %1, pc, #1\n" ++ "\tbx %1\n" ++ "\t.force_thumb" ++#endif + : "=&r" (tmp1), "=&r" (tmp2), "=&r" (tmp3) + : "r" (mem), "r"(val) + : "cc", "memory"); +@@ -68,6 +90,12 @@ + { + int result, tmp; + __asm__ ("\n" ++#if defined(__thumb__) ++ "\t.align 0\n" ++ "\tbx pc\n" ++ "\tnop\n" ++ "\t.arm\n" ++#endif + "0:\tldr\t%1,[%2]\n\t" + "mov\t%0,#0\n\t" + "cmp\t%1,%4\n\t" +@@ -78,6 +106,11 @@ + "bne\t0b\n\t" + "mov\t%0,#1\n" + "1:" ++#if defined(__thumb__) ++ "\torr %1, pc, #1\n" ++ "\tbx %1\n" ++ "\t.force_thumb" ++#endif + : "=&r" (result), "=&r" (tmp) + : "r" (p), "r" (newval), "r" (oldval) + : "cc", "memory"); +--- uClibc-0.9.27/libpthread/linuxthreads/sysdeps/arm/pt-machine.h.orig 2005-08-09 14:16:50.204774778 -0700 ++++ uClibc-0.9.27/libpthread/linuxthreads/sysdeps/arm/pt-machine.h 2005-08-09 17:55:54.027863420 -0700 +@@ -39,9 +39,24 @@ + { + register unsigned int ret; + ++#if defined(__thumb__) ++ void *pc; ++ __asm__ __volatile__( ++ ".align 0\n" ++ "\tbx pc\n" ++ "\tnop\n" ++ "\t.arm\n" ++ "\tswp %0, %2, [%3]\n" ++ "\torr %1, pc, #1\n" ++ "\tbx %1\n" ++ "\t.force_thumb" ++ : "=r"(ret), "=r"(pc) ++ : "0"(1), "r"(spinlock)); ++#else + __asm__ __volatile__("swp %0, %1, [%2]" + : "=r"(ret) + : "0"(1), "r"(spinlock)); ++#endif + + return ret; + } diff --git a/packages/uclibc/uclibc.inc b/packages/uclibc/uclibc.inc index b86ffb1b9b..aa4d165dcc 100644 --- a/packages/uclibc/uclibc.inc +++ b/packages/uclibc/uclibc.inc @@ -62,8 +62,14 @@ SRC_URI = "${@['${UCLIBC_LOCALE_URI}', ''][bb.data.getVar('USE_NLS', d, 1) != 'y UCLIBC_PREFIX = "${CROSS_DIR}/${TARGET_SYS}" UCLIBC_STAGE_PREFIX = "${STAGING_DIR}/${HOST_SYS}" -EXTRA_OEMAKE = "'OPTIMIZATION=' 'CPU_CFLAGS=${CFLAGS}' 'STRIPTOOL=true' 'LD=${LD}' \ +# do_stage barfs on a CC with whitepspace, therefore put the 'HOST_CC_ARCH' in +# the CFLAGS (for when building the utils). +OEMAKE_NO_CC = "'OPTIMIZATION=' 'CPU_CFLAGS=${CFLAGS}' 'STRIPTOOL=true' 'LD=${LD}' \ 'LOCALE_DATA_FILENAME=${UCLIBC_LOCALE_FILE}'" +EXTRA_OEMAKE = "${OEMAKE_NO_CC} 'CC=${CC}'" +EXTRA_OEMAKE_task_do_populate_staging = "${OEMAKE_NO_CC}" +EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}" + configmangle = 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE="${CROSS_DIR}/${TARGET_SYS}/include",g; \ s,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX="/",g; \ s,^DEVEL_PREFIX=.*,DEVEL_PREFIX="/${prefix}",g; \ diff --git a/packages/uclibc/uclibc_0.9.27.bb b/packages/uclibc/uclibc_0.9.27.bb index 3f593c5698..7ae11507c6 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 = "r5" +PR = "r6" include uclibc.inc @@ -16,4 +16,7 @@ SRC_URI += "http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2 \ file://nokernelheadercheck.patch;patch=1" SRC_URI += " file://armeb-kernel-stat.h.patch;patch=1" 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" S = "${WORKDIR}/uClibc-${PV}" diff --git a/packages/xstroke/xstroke_0.6.bb b/packages/xstroke/xstroke_0.6.bb index 842bad006a..c905b7b601 100644 --- a/packages/xstroke/xstroke_0.6.bb +++ b/packages/xstroke/xstroke_0.6.bb @@ -1,10 +1,10 @@ +DESCRIPTION = "Gesture recognition input method for X11" LICENSE = "GPL" SECTION = "x11" PRIORITY = "optional" MAINTAINER = "Phil Blundell <pb@handhelds.org>" -DEPENDS = "x11 xft xtst" -DESCRIPTION = "Gesture recognition input method for X11" -PR = "r1" +DEPENDS = "x11 xft xtst xpm" +PR = "r2" SRC_URI = "http://xstroke.org/releases/xstroke-0.6.tar.gz \ file://auto-disable.patch;patch=1;pnum=0" diff --git a/packages/xstroke/xstroke_cvs.bb b/packages/xstroke/xstroke_cvs.bb index e425addbb2..43efdf2965 100644 --- a/packages/xstroke/xstroke_cvs.bb +++ b/packages/xstroke/xstroke_cvs.bb @@ -1,10 +1,12 @@ -PV = "0.0cvs${CVSDATE}" +DESCRIPTION = "Gesture recognition input method for X11" +LICENSE = "GPL" SECTION = "x11" PRIORITY = "optional" MAINTAINER = "Phil Blundell <pb@handhelds.org>" -DEPENDS = "x11 xft xtst" -DESCRIPTION = "Gesture recognition input method for X11" -LICENSE = "GPL" +DEPENDS = "x11 xft xtst xpm" +PV = "0.0cvs${CVSDATE}" +PR = "r1" + SRC_URI = "cvs://anoncvs:anoncvs@xstroke.org/cvs/xstroke;module=xstroke" S = "${WORKDIR}/xstroke" |