diff options
Diffstat (limited to 'packages')
28 files changed, 508 insertions, 62 deletions
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/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/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/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/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}" |