Pull request for branch for-2010.08
Hello Peter, hello all,
Here is the stack of patches I've accumulated for the 2010.08 release. They either fix bugs reported by users, fix various build issues, or deprecate things such as the Cris architecture.
There are a few remaining issues that I think should be fixed before 2010.08 is released:
* The ldconfig problem on Fedora 13. I've been able to reproduce it after installing Fedora 13 in a VM, but I haven't had the time to figure out the correct solution for it.
* Several configuration cache related issues. It seems to me that sharing the configuration cache between different packages is in fact hard to achieve in a reliable way. Maybe we should revert back to the configuration cache disabled by default.
* The gcc 4.2 build problem. gcc 4.2 used to build properly, but has been broken by the new gcc build process introduced to support NPTL in uClibc. Khem has sent a patch that fixes this problem by adding a couple of #ifndef inhibit_libc ... #endif, but I'm not sure about it, so I preferred to get your opinion.
* The uClibc 0.9.31 / C++ / locale problem, for which Khem has also sent a patch.
Regards,
Thomas
The following changes since commit 2ef83b42b97e7a098c9bef34109c5a8896a17b76:
Peter Korsgaard (1):
update for 2010.08-rc1
are available in the git repository at:
git://git.busybox.net/~tpetazzoni/git/buildroot for-2010.08
Francois Perrad (2):
Add new patches Lua upstream patches rename old ones
luafilesystem: remove LARGE_FILE constraint
Gustavo Zacarias (3):
Update busybox 1.17.1 fixes
Bump stable kernel headers
Security bump php to 5.2.14
Thomas Petazzoni (15):
Fix util-linux build on MIPS
Add dependency from util-linux on ncurses
Make uClibc gen_wc8bit shows an error when no locale support available Detect early if an UTF-8 locale is needed
Add the traditional powerpc-link-with-math-lib patch to gcc 4.4.4 Mark CRIS architecture as deprecated
Prevent C++ + locale + uClibc 0.9.31 + gcc 4.2 to be selected
imagemagick: don't create useless debugging file
libglib2: add patch to rework clock_gettime() test
lzo: fix host-lzo build failure when config cache is filled
netcat: prevent build system from adding a prefix to binaries libxml-parser-perl/intltool: mark as host only packages
lua: make sure that CFLAGS are passed
sysvinit: make sure to link against libcrypt
sysvinit: remove unneeded dependency on ncurses
.../busybox-1.17.1/busybox-1.17.1-sed.patch | 66 ++++
.../busybox-1.17.1/busybox-1.17.1-shell.patch | 19 +
package/cgilua/Config.in | 4 -
package/imagemagick/imagemagick.mk | 1 -
package/intltool/Config.in | 3 +
.../libglib2-fix-clock-gettime-check.patch | 24 ++
package/libglib2/libglib2.mk | 2 +-
package/libxml-parser-perl/Config.in | 3 +
...ion.patch => lua-bug3-boolean_expression.patch} | 0
.../lua/{lua-table.patch => lua-bug4-table.patch} | 0
..._getfenv.patch => lua-bug5-debug_getfenv.patch} | 0
...ormance.patch => lua-bug6-gc_performance.patch} | 0
package/lua/lua-bug7-string_format.patch | 20 +
package/lua/lua-bug8-io_read.patch | 14 +
package/lua/lua.mk | 4 +-
package/luafilesystem/Config.in | 6 +-
.../luafilesystem-without_large_file.patch | 20 +
package/luafilesystem/luafilesystem.mk | 6 +-
package/lzo/lzo-2.03-acinclude-m4.patch | 377 ++++++++++++++++++++
package/lzo/lzo-2.03-fix-configure-ac.patch | 21 ++
package/lzo/lzo-2.03-fix-makefile-am.patch | 24 ++
package/lzo/lzo.mk | 6 +
package/netcat/netcat.mk | 1 +
package/php/php.mk | 2 +-
package/sysvinit/Config.in | 1 -
package/sysvinit/sysvinit.mk | 6 +-
...linux-2.13-pre17-hardcode-a-out-constants.patch | 41 +++
package/util-linux/util-linux.mk | 4 +
package/wsapi/Config.in | 4 -
package/xavante/Config.in | 4 -
target/Config.in.arch | 5 +
toolchain/dependencies/dependencies.mk | 1 +
toolchain/dependencies/dependencies.sh | 12 +
.../powerpc-link-with-math-lib.patch.conditional | 137 +++++++
toolchain/kernel-headers/Config.in | 8 +-
...types-for-headers-exported-to-user-space.patch} | 0
...types-for-headers-exported-to-user-space.patch} | 0
...types-for-headers-exported-to-user-space.patch} | 0
toolchain/toolchain-common.in | 6 +-
.../uClibc-0.9.30.3-fix-error-locale-utf-8.patch | 17 +
.../uClibc-0.9.31-fix-error-locale-utf-8.patch | 17 +
41 files changed, 854 insertions(+), 32 deletions(-)
create mode 100644 package/busybox/busybox-1.17.1/busybox-1.17.1-sed.patch
create mode 100644 package/libglib2/libglib2-fix-clock-gettime-check.patch
rename package/lua/{lua-boolean_expression.patch => lua-bug3-boolean_expression.patch} (100%)
rename package/lua/{lua-table.patch => lua-bug4-table.patch} (100%)
rename package/lua/{lua-debug_getfenv.patch => lua-bug5-debug_getfenv.patch} (100%)
rename package/lua/{lua-gc_performance.patch => lua-bug6-gc_performance.patch} (100%)
create mode 100644 package/lua/lua-bug7-string_format.patch
create mode 100644 package/lua/lua-bug8-io_read.patch
create mode 100644 package/luafilesystem/luafilesystem-without_large_file.patch
create mode 100644 package/lzo/lzo-2.03-acinclude-m4.patch
create mode 100644 package/lzo/lzo-2.03-fix-configure-ac.patch
create mode 100644 package/lzo/lzo-2.03-fix-makefile-am.patch
create mode 100644 package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch
create mode 100644 toolchain/gcc/4.4.4/powerpc-link-with-math-lib.patch.conditional
rename toolchain/kernel-headers/{linux-2.6.32.16-scsi-use-__uX-types-for-headers-exported-to-user-space.patch => linux-2.6.32.18-scsi-use-__uX-types-for-headers-exported-to-user-space.patch} (100%)
rename toolchain/kernel-headers/{linux-2.6.33.6-scsi-use-__uX-types-for-headers-exported-to-user-space.patch => linux-2.6.33.7-scsi-use-__uX-types-for-headers-exported-to-user-space.patch} (100%)
rename toolchain/kernel-headers/{linux-2.6.34.1-scsi-use-__uX-types-for-headers-exported-to-user-space.patch => linux-2.6.34.3-scsi-use-__uX-types-for-headers-exported-to-user-space.patch} (100%)
create mode 100644 toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch
create mode 100644 toolchain/uClibc/uClibc-0.9.31-fix-error-locale-utf-8.patchThanks,
Signature · 1 line
Thomas Petazzoni
PATCH 1/20 Fix util-linux build on MIPS
As reported in bug #635, util-linux doesn't build due to missing constant definitions related to the a.out binary format. We fix this by hardcoding these constant definitions, as done in newer versions of util-linux.
Obviously, the long term fix is to upgrade to util-linux-ng, but this is probably not acceptable for 2010.08.
--- ...linux-2.13-pre17-hardcode-a-out-constants.patch | 41 ++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) create mode 100644 package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch
package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch new file +41 -0
@@ -0,0 +1,41 @@ +Hardcode a.out related constants + +The OMAGIC, NMAGIC and ZMAGIC constants, related to the legacy a.out +binary format, are no longer available in the headers of all +architectures, due to this binary format being deprecated. For that +reason, util-linux fails to build. + +We therefore take the approach used in newer versions of +util-linux-ng: hardcoding those values. See +http://git.kernel.org/?p=utils/util-linux-ng/util-linux-ng.git;a=commitdiff;h=e9eb4dad0ece03914f67f6d1ded74cfbbe694ba4 + +Signed-off-by: Thomas Petazzoni <[email protected]> +--- + text-utils/more.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +Index: util-linux-2.13-pre7/text-utils/more.c +=================================================================== +--- util-linux-2.13-pre7.orig/text-utils/more.c ++++ util-linux-2.13-pre7/text-utils/more.c +@@ -53,7 +53,6 @@ + #include <sys/stat.h> + #include <sys/file.h> + #include <sys/wait.h> +-#include <a.out.h> + #include <locale.h> + #include "xstrncpy.h" + #include "nls.h" +@@ -504,9 +503,9 @@ + + if (fread(twobytes, 2, 1, f) == 1) { + switch(twobytes[0] + (twobytes[1]<<8)) { +- case OMAGIC: /* 0407 */ +- case NMAGIC: /* 0410 */ +- case ZMAGIC: /* 0413 */ ++ case 0407: /* a.out obj */ ++ case 0410: /* a.out exec */ ++ case 0413: /* a.out demand exec */ + case 0405: + case 0411: + case 0177545:
Signature · 1 line
1.7.0.4
PATCH 2/20 Add dependency from util-linux on ncurses
In reply to Thomas Petazzoniutil-linux can build without ncurses, but when ncurses is available, additional features can be built (such as the more command). Therefore, in util-linux.mk, when ncurses is available, mark it as a dependency.
--- package/util-linux/util-linux.mk | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
package/util-linux/util-linux.mk +4 -0
@@ -23,6 +23,10 @@ UTIL-LINUX_DEPENDENCIES += gettext libintl UTIL-LINUX_MAKE_OPT = LIBS=-lintl endif +ifeq ($(BR2_PACKAGE_NCURSES),y) +UTIL-LINUX_DEPENDENCIES += ncurses +endif + $(DL_DIR)/$(UTIL-LINUX_SOURCE): $(call DOWNLOAD,$(UTIL-LINUX_SITE),$(UTIL-LINUX_SOURCE))
Signature · 1 line
1.7.0.4
PATCH 3/20 Make uClibc gen_wc8bit shows an error when no locale support available
In reply to Thomas PetazzoniWhen no UTF-8 locale is available on the host system, uClibc can't generate some stuff it needs to compile a C library with locale support. Unfortunately, as gen_wc8bit message is shown on stdout and the stdout of gen_wc8bit is redirected to a file, the user don't see anything, as reported at
http://lists.busybox.net/pipermail/buildroot/2010-May/034177.html.
Those two patches fix the problem for uClibc 0.9.31 and 0.9.30.3. It has been submitted upstream:
http://lists.uclibc.org/pipermail/uclibc/2010-August/044256.html
--- .../uClibc-0.9.30.3-fix-error-locale-utf-8.patch | 17 +++++++++++++++++ .../uClibc-0.9.31-fix-error-locale-utf-8.patch | 17 +++++++++++++++++ 2 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch create mode 100644 toolchain/uClibc/uClibc-0.9.31-fix-error-locale-utf-8.patch
toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch new file +17 -0
@@ -0,0 +1,17 @@ +--- + extra/locale/gen_wc8bit.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: uClibc-0.9.30.3/extra/locale/gen_wc8bit.c +=================================================================== +--- uClibc-0.9.30.3.orig/extra/locale/gen_wc8bit.c ++++ uClibc-0.9.30.3/extra/locale/gen_wc8bit.c +@@ -119,7 +119,7 @@ + } + + locale_failure: +- printf("could not find a UTF8 locale ... please enable en_US.UTF-8\n"); ++ fprintf(stderr, "could not find a UTF8 locale ... please enable en_US.UTF-8\n"); + return EXIT_FAILURE; + locale_success: + pclose(fp);
toolchain/uClibc/uClibc-0.9.31-fix-error-locale-utf-8.patch new file +17 -0
@@ -0,0 +1,17 @@ +--- + extra/locale/gen_wc8bit.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: uClibc-0.9.31/extra/locale/gen_wc8bit.c +=================================================================== +--- uClibc-0.9.31.orig/extra/locale/gen_wc8bit.c ++++ uClibc-0.9.31/extra/locale/gen_wc8bit.c +@@ -120,7 +120,7 @@ + } + + locale_failure: +- printf("could not find a UTF8 locale ... please enable en_US.UTF-8\n"); ++ fprintf(stderr, "could not find a UTF8 locale ... please enable en_US.UTF-8\n"); + return EXIT_FAILURE; + locale_success: + pclose(fp);
Signature · 1 line
1.7.0.4
PATCH 4/20 Detect early if an UTF-8 locale is needed
In reply to Thomas PetazzoniCheck in toolchain/dependencies/dependencies.sh if an UTF-8 locale is properly present on the system before trying to build a locale enabled toolchain. As this test is only needed when a locale enabled toolchain is going to be built, we pass the configuration file path to the dependencies.sh script so that it can grep for the current value of various options.
--- toolchain/dependencies/dependencies.mk | 1 + toolchain/dependencies/dependencies.sh | 12 ++++++++++++ 2 files changed, 13 insertions(+), 0 deletions(-)
toolchain/dependencies/dependencies.mk +1 -0
@@ -16,6 +16,7 @@ endif dependencies: host-sed $(DEPENDENCIES_HOST_PREREQ) @HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \ HOST_SED_DIR="$(HOST_SED_DIR)" \ + CONFIG_FILE="$(CONFIG_DIR)/.config" \ $(TOPDIR)/toolchain/dependencies/dependencies.sh dependencies-source:
toolchain/dependencies/dependencies.sh +12 -0
@@ -152,3 +152,15 @@ for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio p exit 1; fi done + +if grep ^BR2_TOOLCHAIN_BUILDROOT=y $CONFIG_FILE > /dev/null && \ + grep ^BR2_ENABLE_LOCALE=y $CONFIG_FILE > /dev/null ; then + if ! which locale > /dev/null ; then + /bin/echo -e "\nYou need locale support on your build machine to build a toolchain supporting locales\n" + exit 1 ; + fi + if ! locale -a | grep -i utf8$ ; then + /bin/echo -e "\nYou need at least one UTF8 locale to build a toolchain supporting locales\n" + exit 1 ; + fi +fi
Signature · 1 line
1.7.0.4
PATCH 5/20 Add the traditional powerpc-link-with-math-lib patch to gcc 4.4.4
In reply to Thomas PetazzoniPatch taken from Crosstool-NG patchset.
--- .../powerpc-link-with-math-lib.patch.conditional | 137 ++++++++++++++++++++ 1 files changed, 137 insertions(+), 0 deletions(-) create mode 100644 toolchain/gcc/4.4.4/powerpc-link-with-math-lib.patch.conditional
toolchain/gcc/4.4.4/powerpc-link-with-math-lib.patch.conditional new file +137 -0
@@ -0,0 +1,137 @@ +http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html + +On glibc the libc.so carries a copy of the math function copysignl() but +on uClibc math functions like copysignl() live in libm. Since libgcc_s +contains unresolved symbols, any attempt to link against libgcc_s +without explicitely specifying -lm fails, resulting in a broken +bootstrap of the compiler. + + +diff -rdup gcc-4.4.0.old/gcc/config/t-slibgcc-elf-ver gcc-4.4.0/gcc/config/t-slibgcc-elf-ver + +diff -durN gcc-4.4.4.orig/gcc/config/t-slibgcc-elf-ver gcc-4.4.4/gcc/config/t-slibgcc-elf-ver +--- gcc-4.4.4.orig/gcc/config/t-slibgcc-elf-ver 2010-01-04 16:13:08.000000000 +0100 ++++ gcc-4.4.4/gcc/config/t-slibgcc-elf-ver 2010-05-16 19:38:36.000000000 +0200 +@@ -9,7 +9,7 @@ + SHLIB_OBJS = @shlib_objs@ + SHLIB_DIR = @multilib_dir@ + SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ +-SHLIB_LC = -lc ++SHLIB_LC = @libgcc_libm@ -lc + SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK) + SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ + $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) +diff -durN gcc-4.4.4.orig/libgcc/Makefile.in gcc-4.4.4/libgcc/Makefile.in +--- gcc-4.4.4.orig/libgcc/Makefile.in 2009-04-10 01:23:07.000000000 +0200 ++++ gcc-4.4.4/libgcc/Makefile.in 2010-05-16 19:38:36.000000000 +0200 +@@ -39,6 +39,7 @@ + decimal_float = @decimal_float@ + enable_decimal_float = @enable_decimal_float@ + fixed_point = @fixed_point@ ++LIBGCC_LIBM = @LIBGCC_LIBM@ + + host_noncanonical = @host_noncanonical@ + +@@ -787,9 +788,10 @@ + @multilib_dir@,$(MULTIDIR),$(subst \ + @shlib_objs@,$(objects),$(subst \ + @shlib_base_name@,libgcc_s,$(subst \ ++ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ + @shlib_map_file@,$(mapfile),$(subst \ + @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ +- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) ++ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) + + libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) + # @multilib_flags@ is still needed because this may use +diff -durN gcc-4.4.4.orig/libgcc/configure gcc-4.4.4/libgcc/configure +--- gcc-4.4.4.orig/libgcc/configure 2008-11-20 18:13:01.000000000 +0100 ++++ gcc-4.4.4/libgcc/configure 2010-05-16 19:38:36.000000000 +0200 +@@ -272,7 +272,7 @@ + PACKAGE_BUGREPORT='' + + ac_unique_file="static-object.mk" +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' + ac_subst_files='' + ac_pwd=`pwd` + +@@ -3547,6 +3547,39 @@ + fi + + ++# On powerpc libgcc_s references copysignl which is a libm function but ++# glibc apparently also provides it via libc as opposed to uClibc where ++# it lives in libm. ++echo "$as_me:$LINENO: checking for library containing copysignl" >&5 ++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 ++if test "${libgcc_cv_copysignl_lib+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ++ echo '#include <features.h>' > conftest.c ++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c ++ libgcc_cv_copysignl_lib="-lc" ++ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libgcc_cv_copysignl_lib="-lm" ++ fi ++ rm -f conftest.* ++ ++fi ++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 ++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 ++ ++case /${libgcc_cv_copysignl_lib}/ in ++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; ++ *) LIBGCC_LIBM= ;; ++esac ++ ++ + # Conditionalize the makefile for this target machine. + tmake_file_= + for f in ${tmake_file} +@@ -4267,6 +4300,7 @@ + s, at fixed_point@,$fixed_point,;t t + s, at vis_hide@,$vis_hide,;t t + s, at set_have_cc_tls@,$set_have_cc_tls,;t t ++s, at LIBGCC_LIBM@,$LIBGCC_LIBM,;t t + s, at tmake_file@,$tmake_file,;t t + s, at extra_parts@,$extra_parts,;t t + s, at asm_hidden_op@,$asm_hidden_op,;t t +diff -durN gcc-4.4.4.orig/libgcc/configure.ac gcc-4.4.4/libgcc/configure.ac +--- gcc-4.4.4.orig/libgcc/configure.ac 2008-11-20 18:13:01.000000000 +0100 ++++ gcc-4.4.4/libgcc/configure.ac 2010-05-16 19:38:36.000000000 +0200 +@@ -223,6 +223,27 @@ + fi + AC_SUBST(set_have_cc_tls) + ++# On powerpc libgcc_s references copysignl which is a libm function but ++# glibc apparently also provides it via libc as opposed to uClibc where ++# it lives in libm. ++AC_CACHE_CHECK ++ libgcc_cv_copysignl_lib, ++ echo '#include <features.h>' > conftest.c ++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c ++ libgcc_cv_copysignl_lib="-lc" ++ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) ++ then ++ libgcc_cv_copysignl_lib="-lm" ++ fi ++ rm -f conftest.* ++ ]) ++ ++case /${libgcc_cv_copysignl_lib}/ in ++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; ++ *) LIBGCC_LIBM= ;; ++esac ++AC_SUBST(LIBGCC_LIBM) ++ + # Conditionalize the makefile for this target machine. + tmake_file_= + for f in ${tmake_file}
Signature · 1 line
1.7.0.4
PATCH 6/20 Mark CRIS architecture as deprecated
In reply to Thomas PetazzoniThe CRIS architecture support in Buildroot hasn't been updated since a long time. Even a toolchain with recent kernel headers does not build due to missing patches.
Moreover, the CRIS architecture has been discontinued by Axis, as visible at http://www.axis.com/products/dev/index.htm. We will remove it from Buildroot at the next release cycle.
--- target/Config.in.arch | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
target/Config.in.arch +5 -0
@@ -22,6 +22,11 @@ config BR2_avr32 select BR2_SOFT_FLOAT config BR2_cris bool "cris" + # The CRIS architecture from Axis has been deprecated by the + # manufacturer. No units are sold after July 2010, and support + # will end in July 2011. Moreover, CRIS support in Buildroot + # has not been updated since a long time. + depends on BR2_DEPRECATED config BR2_ia64 bool "ia64" # IA64 almost does not exist anymore and has never been used
Signature · 1 line
1.7.0.4
PATCH 7/20 Prevent C++ + locale + uClibc 0.9.31 + gcc 4.2 to be selected
In reply to Thomas PetazzoniThe problem fixed by 60f945e47a15e10f0e777f69b05492b6f7ba918d is in fact not limited to the AVR32 architecture, as reported by Will Newton on the list. The issue is the combination uClibc 0.9.31 with gcc 4.2, C++ support and locales.
--- toolchain/toolchain-common.in | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
toolchain/toolchain-common.in +3 -3
@@ -157,7 +157,7 @@ config BR2_GCC_CROSS_CXX config BR2_INSTALL_LIBSTDCPP bool "Build/install c++ compiler and libstdc++?" select BR2_GCC_CROSS_CXX - depends on !(BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31) + depends on !(! BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31) help If you are building your own toolchain and want to build and install the C++ compiler and library then you need to enable this option.
@@ -165,8 +165,8 @@ config BR2_INSTALL_LIBSTDCPP support and you want to use the compiler / library then you need to select this option. -comment "C++ support broken in uClibc 0.9.31 with locale enabled" - depends on BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31 +comment "C++ support broken in uClibc 0.9.31 with locale enabled with gcc 4.2" + depends on !BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31 config BR2_TARGET_OPTIMIZATION string "Target Optimizations"
Signature · 1 line
1.7.0.4
PATCH 8/20 Update busybox 1.17.1 fixes
In reply to Thomas PetazzoniFrom: Gustavo Zacarias <[email protected]>
New shell_common fix and sed fix.
--- .../busybox-1.17.1/busybox-1.17.1-sed.patch | 66 ++++++++++++++++++++ .../busybox-1.17.1/busybox-1.17.1-shell.patch | 19 ++++++ 2 files changed, 85 insertions(+), 0 deletions(-) create mode 100644 package/busybox/busybox-1.17.1/busybox-1.17.1-sed.patch
package/busybox/busybox-1.17.1/busybox-1.17.1-sed.patch new file +66 -0
@@ -0,0 +1,66 @@ +diff -urpN busybox-1.17.1/editors/sed.c busybox-1.17.1-sed/editors/sed.c +--- busybox-1.17.1/editors/sed.c 2010-07-06 04:25:53.000000000 +0200 ++++ busybox-1.17.1-sed/editors/sed.c 2010-08-01 04:15:39.000000000 +0200 +@@ -61,6 +61,10 @@ + #include "libbb.h" + #include "xregex.h" + ++enum { ++ OPT_in_place = 1 << 0, ++}; ++ + /* Each sed command turns into one of these structures. */ + typedef struct sed_cmd_s { + /* Ordered by alignment requirements: currently 36 bytes on x86 */ +@@ -938,8 +942,11 @@ static void process_files(void) + + if (matched) { + /* once matched, "n,xxx" range is dead, disabling it */ +- if (sed_cmd->beg_line > 0) ++ if (sed_cmd->beg_line > 0 ++ && !(option_mask32 & OPT_in_place) /* but not for -i */ ++ ) { + sed_cmd->beg_line = -2; ++ } + sed_cmd->in_match = !( + /* has the ending line come, or is this a single address command? */ + (sed_cmd->end_line ? +@@ -1270,9 +1277,6 @@ static void add_cmd_block(char *cmdstr) + int sed_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int sed_main(int argc UNUSED_PARAM, char **argv) + { +- enum { +- OPT_in_place = 1 << 0, +- }; + unsigned opt; + llist_t *opt_e, *opt_f; + int status = EXIT_SUCCESS; +@@ -1292,6 +1296,7 @@ int sed_main(int argc UNUSED_PARAM, char + opt_e = opt_f = NULL; + opt_complementary = "e::f::" /* can occur multiple times */ + "nn"; /* count -n */ ++ /* -i must be first, to match OPT_in_place definition */ + opt = getopt32(argv, "irne:f:", &opt_e, &opt_f, + &G.be_quiet); /* counter for -n */ + //argc -= optind; +diff -urpN busybox-1.17.1/testsuite/sed.tests busybox-1.17.1-sed/testsuite/sed.tests +--- busybox-1.17.1/testsuite/sed.tests 2010-07-06 04:25:54.000000000 +0200 ++++ busybox-1.17.1-sed/testsuite/sed.tests 2010-08-01 04:19:26.000000000 +0200 +@@ -270,11 +270,16 @@ testing "sed a cmd ended by double backs + | two \\ + ' + +-# fisrt three lines are deleted; 4th line is matched and printed by "2,3" and by "4" ranges ++# first three lines are deleted; 4th line is matched and printed by "2,3" and by "4" ranges + testing "sed with N skipping lines past ranges on next cmds" \ + "sed -n '1{N;N;d};1p;2,3p;3p;4p'" \ + "4\n4\n" "" "1\n2\n3\n4\n" + ++testing "sed -i with address modifies all files, not only first" \ ++ "cp input input2; sed -i -e '1s/foo/bar/' input input2 && cat input input2; rm input2" \ ++ "bar\nbar\n" "foo\n" "" ++ ++ + # testing "description" "arguments" "result" "infile" "stdin" + + exit $FAILCOUNT
package/busybox/busybox-1.17.1/busybox-1.17.1-shell.patch +19 -0
@@ -84,3 +84,22 @@ diff -urpN busybox-1.17.1/shell/hush_test/hush-trap/signal7.tests busybox-1.17.1 +&& test x"$REAL_CHILD" = x"$PARENTS_IDEA_OF_CHILD" +echo "Bug detected: $?" +} +diff -urpN busybox-1.17.1/shell/shell_common.c busybox-1.17.1-shell/shell/shell_common.c +--- busybox-1.17.1/shell/shell_common.c 2010-07-06 04:25:54.000000000 +0200 ++++ busybox-1.17.1-shell/shell/shell_common.c 2010-07-27 08:41:43.000000000 +0200 +@@ -428,9 +428,14 @@ shell_builtin_ulimit(char **argv) + val <<= l->factor_shift; + } + //bb_error_msg("opt %c val_str:'%s' val:%lld", opt_char, val_str, (long long)val); ++ /* from man bash: "If neither -H nor -S ++ * is specified, both the soft and hard ++ * limits are set. */ ++ if (!opts) ++ opts = OPT_hard + OPT_soft; + if (opts & OPT_hard) + limit.rlim_max = val; +- if ((opts & OPT_soft) || opts == 0) ++ if (opts & OPT_soft) + limit.rlim_cur = val; + //bb_error_msg("setrlimit(%d, %lld, %lld)", l->cmd, (long long)limit.rlim_cur, (long long)limit.rlim_max); + if (setrlimit(l->cmd, &limit) < 0) {
Signature · 1 line
1.7.0.4
PATCH 9/20 imagemagick: don't create useless debugging file
In reply to Thomas PetazzoniFor some reason, the imagemagick Buildroot .mk file creates a "datefile" file in the Buildroot source directory, probably an ancient debugging thing that has been left here for no reason. Let's get rid of it.
--- package/imagemagick/imagemagick.mk | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)
package/imagemagick/imagemagick.mk +0 -1
@@ -88,7 +88,6 @@ $(IMAGEMAGICK_DIR)/.libinstall: $(IMAGEMAGICK_LIB) touch $@ $(TARGET_DIR)/usr/bin/animate: $(IMAGEMAGICK_LIB) - ls -l $(IMAGEMAGICK_LIB) >> datefile $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-animate $(TARGET_DIR)/usr/bin/animate -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/animate touch $@
Signature · 1 line
1.7.0.4
PATCH 10/20 libglib2: add patch to rework clock_gettime() test
In reply to Thomas PetazzoniThe test for clock_gettime() in configure.in doesn't work properly when a previous package has loaded the shared configuration cache with informations about the availability of clock_gettime. A package such as ctorrent does so, which means that compiling ctorrent *then* libglib2 currently fails.
According to people on the Autoconf mailing list, the libglib2 test is likely the one that needs to be fixed. The problem is that the AC_CHECK_FUNCS() test assumes that if it finds clock_gettime() it means that there's no need to add any -lrt flag to the build. Unfortunately, due to the shared configuration cache, this test is already done with -lrt, so the test succeeds, and libglib2 does not know that it needs to add -lrt to G_THREAD_LIBS and G_THREAD_LIBS_FOR_GTHREAD.
So instead, we remplace the test with an AC_SEARCH_LIBS() test, followed by a test on the result of this AC_SEARCH_LIBS() test to add the necessary -lrt to G_THREAD_LIBS and G_THREAD_LIBS_FOR_GTHREAD. Therefore, even if the result for the AC_SEARCH_LIBS() test is cached due to the prior execution ctorrent ./configure script, libglib2 ./configure will properly add -lrt to the appropriate variables.
Obviously, as this patch modifies the configure.in file, we enable the autoreconf step for the libglib2 package.
--- .../libglib2-fix-clock-gettime-check.patch | 24 ++++++++++++++++++++ package/libglib2/libglib2.mk | 2 +- 2 files changed, 25 insertions(+), 1 deletions(-) create mode 100644 package/libglib2/libglib2-fix-clock-gettime-check.patch
package/libglib2/libglib2-fix-clock-gettime-check.patch new file +24 -0
@@ -0,0 +1,24 @@ +Index: glib-2.24.1/configure.in +=================================================================== +--- glib-2.24.1.orig/configure.in 2010-08-11 19:29:20.530916023 +0200 ++++ glib-2.24.1/configure.in 2010-08-11 19:46:41.308866269 +0200 +@@ -2392,13 +2392,14 @@ + LIBS="$glib_save_LIBS" + fi + +-AC_CHECK_FUNCS(clock_gettime, [], [ +- AC_CHECK_LIB(rt, clock_gettime, [ +- AC_DEFINE(HAVE_CLOCK_GETTIME, 1) ++AC_SEARCH_LIBS([clock_gettime], [rt], [ ++ AC_DEFINE(HAVE_CLOCK_GETTIME, 1,[Have clock_gettime]) ++]) ++ ++if test "$ac_cv_search_clock_gettime" = "-lrt"; then + G_THREAD_LIBS="$G_THREAD_LIBS -lrt" + G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS_FOR_GTHREAD -lrt" +- ]) +-]) ++fi + + AC_CACHE_CHECK(for monotonic clocks, + glib_cv_monotonic_clock,AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
package/libglib2/libglib2.mk +1 -1
@@ -9,7 +9,7 @@ LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).$(LIBGLIB2_VERSION_MINOR) LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.bz2 LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR) -LIBGLIB2_AUTORECONF = NO +LIBGLIB2_AUTORECONF = YES LIBGLIB2_LIBTOOL_PATCH = NO LIBGLIB2_INSTALL_STAGING = YES LIBGLIB2_INSTALL_TARGET = YES
Signature · 1 line
1.7.0.4
PATCH 10/20 libglib2: add patch to rework clock_gettime() test
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> The test for clock_gettime() in configure.in doesn't work properly Thomas> when a previous package has loaded the shared configuration cache with Thomas> informations about the availability of clock_gettime. A package such Thomas> as ctorrent does so, which means that compiling ctorrent *then* Thomas> libglib2 currently fails.
Thomas> According to people on the Autoconf mailing list, the libglib2 test is Thomas> likely the one that needs to be fixed. The problem is that the Thomas> AC_CHECK_FUNCS() test assumes that if it finds clock_gettime() it Thomas> means that there's no need to add any -lrt flag to the Thomas> build. Unfortunately, due to the shared configuration cache, this test Thomas> is already done with -lrt, so the test succeeds, and libglib2 does not Thomas> know that it needs to add -lrt to G_THREAD_LIBS and Thomas> G_THREAD_LIBS_FOR_GTHREAD.
Thanks! It would be good to have a summary of the above in the patch header itself. Have you sent this upstream?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 10/20 libglib2: add patch to rework clock_gettime() test
Quoted 2 lines · On Mon, 23 Aug 2010 07:42:51 +0200 Peter Korsgaard <[email protected]> wrote:
Thanks! It would be good to have a summary of the above in the patch header itself.
Ok, done, and pushed at the same location.
Quoted 1 line
Have you sent this upstream?
As discussed on IRC, no, not yet. I am not sure the fix is 100% correct, and I had no feedback about it on the autoconf mailing list. I can still try to push it upstream to libglib2 anyway, but I'm not sure how to explain why it's their package that is broken and not the other one filling the configuration cache.
Regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 11/20 lzo: fix host-lzo build failure when config cache is filled
In reply to Thomas PetazzoniWhen the configuration cache has been filled with a value for ac_cv_host, host-lzo fails to detect the target system name. This is due to misbehaving code in the ./configure script. Therefore, we need to autoreconf the package, which in turn requires :
* a little fix to the configure.ac file
* a little fix to src/Makefile.am
* an extraction of important parts of aclocal.m4 into acinclude.m4
--- package/lzo/lzo-2.03-acinclude-m4.patch | 377 +++++++++++++++++++++++++++ package/lzo/lzo-2.03-fix-configure-ac.patch | 21 ++ package/lzo/lzo-2.03-fix-makefile-am.patch | 24 ++ package/lzo/lzo.mk | 6 + 4 files changed, 428 insertions(+), 0 deletions(-) create mode 100644 package/lzo/lzo-2.03-acinclude-m4.patch create mode 100644 package/lzo/lzo-2.03-fix-configure-ac.patch create mode 100644 package/lzo/lzo-2.03-fix-makefile-am.patch
package/lzo/lzo-2.03-acinclude-m4.patch new file +377 -0
@@ -0,0 +1,377 @@ +The lzo tarball only contains an aclocal.m4, which is the result from +running aclocal. Unfortunately, it lacks the acinclude.m4 file which +would allow us to do an autoreconf of the package. Therefore, this +patch extracts from aclocal.m4 the parts that are specific to this lzo +package, and put them into an acinclude.m4 so that autoreconf on this +package will work. + +Signed-off-by: Thomas Petazzoni <[email protected]> +--- + acinclude.m4 | 360 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 360 insertions(+) + +Index: lzo-2.03/acinclude.m4 +=================================================================== +--- /dev/null ++++ lzo-2.03/acinclude.m4 +@@ -0,0 +1,360 @@ ++# /*********************************************************************** ++# // standard ACC macros ++# ************************************************************************/ ++ ++AC_DEFUN([mfx_ACC_CHECK_ENDIAN], [ ++AC_C_BIGENDIAN([AC_DEFINE(ACC_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(ACC_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) ++])# ++ ++AC_DEFUN([mfx_ACC_CHECK_HEADERS], [ ++AC_HEADER_TIME ++AC_CHECK_HEADERS([assert.h ctype.h dirent.h errno.h fcntl.h float.h limits.h malloc.h memory.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h strings.h time.h unistd.h utime.h sys/mman.h sys/resource.h sys/stat.h sys/time.h sys/types.h sys/wait.h]) ++])# ++ ++AC_DEFUN([mfx_ACC_CHECK_FUNCS], [ ++AC_CHECK_FUNCS(access alloca atexit atoi atol chmod chown clock_getcpuclockid clock_getres clock_gettime ctime difftime fstat getenv getpagesize getrusage gettimeofday gmtime isatty localtime longjmp lstat memcmp memcpy memmove memset mkdir mktime mmap mprotect munmap qsort raise rmdir setjmp signal snprintf strcasecmp strchr strdup strerror strftime stricmp strncasecmp strnicmp strrchr strstr time umask utime vsnprintf) ++])# ++ ++ ++AC_DEFUN([mfx_ACC_CHECK_SIZEOF], [ ++AC_CHECK_SIZEOF(short) ++AC_CHECK_SIZEOF(int) ++AC_CHECK_SIZEOF(long) ++ ++AC_CHECK_SIZEOF(long long) ++AC_CHECK_SIZEOF(__int16) ++AC_CHECK_SIZEOF(__int32) ++AC_CHECK_SIZEOF(__int64) ++ ++AC_CHECK_SIZEOF(void *) ++AC_CHECK_SIZEOF(size_t) ++AC_CHECK_SIZEOF(ptrdiff_t) ++])# ++ ++ ++# /*********************************************************************** ++# // Check for ACC_conformance ++# ************************************************************************/ ++ ++AC_DEFUN([mfx_ACC_ACCCHK], [ ++mfx_tmp=$1 ++mfx_save_CPPFLAGS=$CPPFLAGS ++dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here ++test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS" ++ ++AC_MSG_CHECKING([whether your compiler passes the ACC conformance test]) ++ ++AC_LANG_CONFTEST([AC_LANG_PROGRAM( ++[[#define ACC_CONFIG_NO_HEADER 1 ++#include "acc/acc.h" ++#include "acc/acc_incd.h" ++#undef ACCCHK_ASSERT ++#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr) ++#include "acc/acc_chk.ch" ++#undef ACCCHK_ASSERT ++static void test_acc_compile_time_assert(void) { ++#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr) ++#include "acc/acc_chk.ch" ++#undef ACCCHK_ASSERT ++} ++#undef NDEBUG ++#include <assert.h> ++static int test_acc_run_time_assert(int r) { ++#define ACCCHK_ASSERT(expr) assert(expr); ++#include "acc/acc_chk.ch" ++#undef ACCCHK_ASSERT ++return r; ++} ++]], [[ ++test_acc_compile_time_assert(); ++if (test_acc_run_time_assert(1) != 1) return 1; ++]] ++)]) ++ ++mfx_tmp=FAILED ++_AC_COMPILE_IFELSE([], [mfx_tmp=yes]) ++rm -f conftest.$ac_ext conftest.$ac_objext ++ ++CPPFLAGS=$mfx_save_CPPFLAGS ++ ++AC_MSG_RESULT([$mfx_tmp]) ++case x$mfx_tmp in ++ xpassed | xyes) ;; ++ *) ++ AC_MSG_NOTICE([]) ++ AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ]) ++ AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending]) ++ AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.]) ++ AC_MSG_NOTICE([Thanks for your support.]) ++ AC_MSG_NOTICE([]) ++ AC_MSG_ERROR([ACC conformance test failed. Stop.]) ++dnl AS_EXIT ++ ;; ++esac ++])# mfx_ACC_ACCCHK ++ ++ ++# /*********************************************************************** ++# // Check for ACC_conformance ++# ************************************************************************/ ++ ++AC_DEFUN([mfx_MINIACC_ACCCHK], [ ++mfx_tmp=$1 ++mfx_save_CPPFLAGS=$CPPFLAGS ++dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here ++test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS" ++ ++AC_MSG_CHECKING([whether your compiler passes the ACC conformance test]) ++ ++AC_LANG_CONFTEST([AC_LANG_PROGRAM( ++[[#define ACC_CONFIG_NO_HEADER 1 ++#define ACC_WANT_ACC_INCD_H 1 ++#include $2 ++ ++#define ACC_WANT_ACC_CHK_CH 1 ++#undef ACCCHK_ASSERT ++#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr) ++#include $2 ++ ++#define ACC_WANT_ACC_CHK_CH 1 ++#undef ACCCHK_ASSERT ++#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr) ++static void test_acc_compile_time_assert(void) { ++#include $2 ++} ++ ++#undef NDEBUG ++#include <assert.h> ++#define ACC_WANT_ACC_CHK_CH 1 ++#undef ACCCHK_ASSERT ++#define ACCCHK_ASSERT(expr) assert(expr); ++static int test_acc_run_time_assert(int r) { ++#include $2 ++return r; ++} ++]], [[ ++test_acc_compile_time_assert(); ++if (test_acc_run_time_assert(1) != 1) return 1; ++]] ++)]) ++ ++mfx_tmp=FAILED ++_AC_COMPILE_IFELSE([], [mfx_tmp=yes]) ++rm -f conftest.$ac_ext conftest.$ac_objext ++ ++CPPFLAGS=$mfx_save_CPPFLAGS ++ ++AC_MSG_RESULT([$mfx_tmp]) ++case x$mfx_tmp in ++ xpassed | xyes) ;; ++ *) ++ AC_MSG_NOTICE([]) ++ AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ]) ++ AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending]) ++ AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.]) ++ AC_MSG_NOTICE([Thanks for your support.]) ++ AC_MSG_NOTICE([]) ++ AC_MSG_ERROR([ACC conformance test failed. Stop.]) ++dnl AS_EXIT ++ ;; ++esac ++])# mfx_MINIACC_ACCCHK ++ ++ ++ ++# serial 1 ++ ++AC_DEFUN([mfx_PROG_CPPFLAGS], [ ++AC_MSG_CHECKING([whether the C preprocessor needs special flags]) ++ ++AC_LANG_CONFTEST([AC_LANG_PROGRAM( ++[[#include <limits.h> ++#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul) ++# include "your C preprocessor is broken 1" ++#elif (0xffffu == 0xfffffffful) ++# include "your C preprocessor is broken 2" ++#elif (32767 >= ULONG_MAX) || (65535u >= ULONG_MAX) ++# include "your C preprocessor is broken 3" ++#endif ++]], [[ ]] ++)]) ++ ++mfx_save_CPPFLAGS=$CPPFLAGS ++mfx_tmp=ERROR ++for mfx_arg in "" -no-cpp-precomp ++do ++ CPPFLAGS="$mfx_arg $mfx_save_CPPFLAGS" ++ _AC_COMPILE_IFELSE([], ++[mfx_tmp=$mfx_arg ++break]) ++done ++CPPFLAGS=$mfx_save_CPPFLAGS ++rm -f conftest.$ac_ext conftest.$ac_objext ++case x$mfx_tmp in ++ x) ++ AC_MSG_RESULT([none needed]) ;; ++ xERROR) ++ AC_MSG_RESULT([ERROR]) ++ AC_MSG_ERROR([your C preprocessor is broken - for details see config.log]) ++ ;; ++ *) ++ AC_MSG_RESULT([$mfx_tmp]) ++ CPPFLAGS="$mfx_tmp $CPPFLAGS" ++ ;; ++esac ++])# mfx_PROG_CPPFLAGS ++ ++# serial 3 ++ ++AC_DEFUN([mfx_CHECK_HEADER_SANE_LIMITS_H], [ ++AC_CACHE_CHECK([whether limits.h is sane], ++mfx_cv_header_sane_limits_h, ++[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <limits.h> ++#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul) ++# if defined(__APPLE__) && defined(__GNUC__) ++# error "your preprocessor is broken - use compiler option -no-cpp-precomp" ++# else ++# include "your preprocessor is broken" ++# endif ++#endif ++#define MFX_0xffff 0xffff ++#define MFX_0xffffffffL 4294967295ul ++#if !defined(CHAR_BIT) || (CHAR_BIT != 8) ++# include "error CHAR_BIT" ++#endif ++#if !defined(UCHAR_MAX) ++# include "error UCHAR_MAX 1" ++#endif ++#if !defined(USHRT_MAX) ++# include "error USHRT_MAX 1" ++#endif ++#if !defined(UINT_MAX) ++# include "error UINT_MAX 1" ++#endif ++#if !defined(ULONG_MAX) ++# include "error ULONG_MAX 1" ++#endif ++#if !defined(SHRT_MAX) ++# include "error SHRT_MAX 1" ++#endif ++#if !defined(INT_MAX) ++# include "error INT_MAX 1" ++#endif ++#if !defined(LONG_MAX) ++# include "error LONG_MAX 1" ++#endif ++#if (UCHAR_MAX < 1) ++# include "error UCHAR_MAX 2" ++#endif ++#if (USHRT_MAX < 1) ++# include "error USHRT_MAX 2" ++#endif ++#if (UINT_MAX < 1) ++# include "error UINT_MAX 2" ++#endif ++#if (ULONG_MAX < 1) ++# include "error ULONG_MAX 2" ++#endif ++#if (UCHAR_MAX < 0xff) ++# include "error UCHAR_MAX 3" ++#endif ++#if (USHRT_MAX < MFX_0xffff) ++# include "error USHRT_MAX 3" ++#endif ++#if (UINT_MAX < MFX_0xffff) ++# include "error UINT_MAX 3" ++#endif ++#if (ULONG_MAX < MFX_0xffffffffL) ++# include "error ULONG_MAX 3" ++#endif ++#if (USHRT_MAX > UINT_MAX) ++# include "error USHRT_MAX vs UINT_MAX" ++#endif ++#if (UINT_MAX > ULONG_MAX) ++# include "error UINT_MAX vs ULONG_MAX" ++#endif ++]], [[ ++#if (USHRT_MAX == MFX_0xffff) ++{ typedef char a_short2a[1 - 2 * !(sizeof(short) == 2)]; } ++#elif (USHRT_MAX >= MFX_0xffff) ++{ typedef char a_short2b[1 - 2 * !(sizeof(short) > 2)]; } ++#endif ++#if (UINT_MAX == MFX_0xffff) ++{ typedef char a_int2a[1 - 2 * !(sizeof(int) == 2)]; } ++#elif (UINT_MAX >= MFX_0xffff) ++{ typedef char a_int2b[1 - 2 * !(sizeof(int) > 2)]; } ++#endif ++#if (ULONG_MAX == MFX_0xffff) ++{ typedef char a_long2a[1 - 2 * !(sizeof(long) == 2)]; } ++#elif (ULONG_MAX >= MFX_0xffff) ++{ typedef char a_long2b[1 - 2 * !(sizeof(long) > 2)]; } ++#endif ++#if !defined(_CRAY1) /* CRAY PVP systems */ ++#if (USHRT_MAX == MFX_0xffffffffL) ++{ typedef char a_short4a[1 - 2 * !(sizeof(short) == 4)]; } ++#elif (USHRT_MAX >= MFX_0xffffffffL) ++{ typedef char a_short4b[1 - 2 * !(sizeof(short) > 4)]; } ++#endif ++#endif /* _CRAY1 */ ++#if (UINT_MAX == MFX_0xffffffffL) ++{ typedef char a_int4a[1 - 2 * !(sizeof(int) == 4)]; } ++#elif (UINT_MAX >= MFX_0xffffffffL) ++{ typedef char a_int4b[1 - 2 * !(sizeof(int) > 4)]; } ++#endif ++#if (ULONG_MAX == MFX_0xffffffffL) ++{ typedef char a_long4a[1 - 2 * !(sizeof(long) == 4)]; } ++#elif (ULONG_MAX >= MFX_0xffffffffL) ++{ typedef char a_long4b[1 - 2 * !(sizeof(long) > 4)]; } ++#endif ++]])], ++[mfx_cv_header_sane_limits_h=yes], ++[mfx_cv_header_sane_limits_h=no])]) ++]) ++ ++# /*********************************************************************** ++# // standard ++# ************************************************************************/ ++ ++AC_DEFUN([mfx_LZO_CHECK_ENDIAN], [ ++AC_C_BIGENDIAN([AC_DEFINE(LZO_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(LZO_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) ++])# ++ ++ ++# /*********************************************************************** ++# // ++# ************************************************************************/ ++ ++dnl more types which are not yet covered by ACC ++ ++AC_DEFUN([mfx_CHECK_SIZEOF], [ ++AC_CHECK_SIZEOF(__int32) ++AC_CHECK_SIZEOF(intmax_t) ++AC_CHECK_SIZEOF(uintmax_t) ++AC_CHECK_SIZEOF(intptr_t) ++AC_CHECK_SIZEOF(uintptr_t) ++ ++AC_CHECK_SIZEOF(float) ++AC_CHECK_SIZEOF(double) ++AC_CHECK_SIZEOF(long double) ++ ++AC_CHECK_SIZEOF(dev_t) ++AC_CHECK_SIZEOF(fpos_t) ++AC_CHECK_SIZEOF(mode_t) ++AC_CHECK_SIZEOF(off_t) ++AC_CHECK_SIZEOF(ssize_t) ++AC_CHECK_SIZEOF(time_t) ++])# ++ ++ ++ ++AC_DEFUN([mfx_CHECK_LIB_WINMM], [ ++if test "X$GCC" = Xyes; then ++case $host_os in ++cygwin* | mingw* | pw32*) ++ test "X$LIBS" != "X" && LIBS="$LIBS " ++ LIBS="${LIBS}-lwinmm" ;; ++*) ++ ;; ++esac ++fi ++])#
package/lzo/lzo-2.03-fix-configure-ac.patch new file +21 -0
@@ -0,0 +1,21 @@ +_AC_SRCPATHS doesn't exist in autoconf, _AC_SRCDIRS should be used +instead according to many reports found by Google. + +Signed-off-by: Thomas Petazzoni <[email protected]> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: lzo-2.03/configure.ac +=================================================================== +--- lzo-2.03.orig/configure.ac ++++ lzo-2.03/configure.ac +@@ -48,7 +48,7 @@ + AM_MAINTAINER_MODE + + if test -z "$ac_abs_top_srcdir"; then +- _AC_SRCPATHS(.) ++ _AC_SRCDIRS(.) + fi + if test -r .Conf.settings1; then + . ./.Conf.settings1
package/lzo/lzo-2.03-fix-makefile-am.patch new file +24 -0
@@ -0,0 +1,24 @@ +Makefile.am is not allowed to override CFLAGS/CPPFLAGS, it must use +AM_CFLAGS and AM_CPPFLAGS. This is needed in order for autoreconf to +work on this package. + +Signed-off-by: Thomas Petazzoni <[email protected]> +--- + src/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: lzo-2.03/src/Makefile.am +=================================================================== +--- lzo-2.03.orig/src/Makefile.am ++++ lzo-2.03/src/Makefile.am +@@ -7,8 +7,8 @@ + SUFFIXES = .S + + INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir) +-CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS) +-CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS) ++AM_CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS) ++AM_CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS) + + lib_LTLIBRARIES = liblzo2.la +
package/lzo/lzo.mk +6 -0
@@ -7,6 +7,12 @@ LZO_VERSION:=2.03 LZO_SOURCE:=lzo-$(LZO_VERSION).tar.gz LZO_SITE:=http://www.oberhumer.com/opensource/lzo/download LZO_AUTORECONF = NO + +# lzo's configure was generated by an old autoconf, and the +# AC_CANONICAL_TARGET check fails in host-lzo when the cache has been +# filled with ac_cv_build and ac_cv_host. +HOST_LZO_AUTORECONF = YES + LZO_INSTALL_STAGING = YES LZO_INSTALL_TARGET = YES LZO_INSTALL_STAGING_OPT = CC="$(TARGET_CC)" DESTDIR=$(STAGING_DIR) install
Signature · 1 line
1.7.0.4
PATCH 12/20 Bump stable kernel headers
In reply to Thomas PetazzoniFrom: Gustavo Zacarias <[email protected]>
---
toolchain/kernel-headers/Config.in | 8 ++++----
...types-for-headers-exported-to-user-space.patch} | 0
...types-for-headers-exported-to-user-space.patch} | 0
...types-for-headers-exported-to-user-space.patch} | 0
4 files changed, 4 insertions(+), 4 deletions(-)
rename toolchain/kernel-headers/{linux-2.6.32.16-scsi-use-__uX-types-for-headers-exported-to-user-space.patch => linux-2.6.32.18-scsi-use-__uX-types-for-headers-exported-to-user-space.patch} (100%)
rename toolchain/kernel-headers/{linux-2.6.33.6-scsi-use-__uX-types-for-headers-exported-to-user-space.patch => linux-2.6.33.7-scsi-use-__uX-types-for-headers-exported-to-user-space.patch} (100%)
rename toolchain/kernel-headers/{linux-2.6.34.1-scsi-use-__uX-types-for-headers-exported-to-user-space.patch => linux-2.6.34.3-scsi-use-__uX-types-for-headers-exported-to-user-space.patch} (100%)toolchain/kernel-headers/Config.in +4 -4
@@ -61,13 +61,13 @@ config BR2_DEFAULT_KERNEL_VERSION config BR2_DEFAULT_KERNEL_HEADERS string - default "2.6.27.47" if BR2_KERNEL_HEADERS_2_6_27 + default "2.6.27.50" if BR2_KERNEL_HEADERS_2_6_27 default "2.6.28.10" if BR2_KERNEL_HEADERS_2_6_28 default "2.6.29.6" if BR2_KERNEL_HEADERS_2_6_29 default "2.6.30.10" if BR2_KERNEL_HEADERS_2_6_30 default "2.6.31.14" if BR2_KERNEL_HEADERS_2_6_31 - default "2.6.32.16" if BR2_KERNEL_HEADERS_2_6_32 - default "2.6.33.6" if BR2_KERNEL_HEADERS_2_6_33 - default "2.6.34.1" if BR2_KERNEL_HEADERS_2_6_34 + default "2.6.32.18" if BR2_KERNEL_HEADERS_2_6_32 + default "2.6.33.7" if BR2_KERNEL_HEADERS_2_6_33 + default "2.6.34.3" if BR2_KERNEL_HEADERS_2_6_34 default "2.6" if BR2_KERNEL_HEADERS_SNAP default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
toolchain/kernel-headers/linux-2.6.32.18-scsi-use-__uX-types-for-headers-exported-to-user-space.patch renamed from toolchain/kernel-headers/linux-2.6.32.16-scsi-use-__uX-types-for-headers-exported-to-user-space.patch +0 -0
toolchain/kernel-headers/linux-2.6.33.7-scsi-use-__uX-types-for-headers-exported-to-user-space.patch renamed from toolchain/kernel-headers/linux-2.6.33.6-scsi-use-__uX-types-for-headers-exported-to-user-space.patch +0 -0
toolchain/kernel-headers/linux-2.6.34.3-scsi-use-__uX-types-for-headers-exported-to-user-space.patch renamed from toolchain/kernel-headers/linux-2.6.34.1-scsi-use-__uX-types-for-headers-exported-to-user-space.patch +0 -0
Signature · 1 line
1.7.0.4
PATCH 13/20 Security bump php to 5.2.14
In reply to Thomas PetazzoniFrom: Gustavo Zacarias <[email protected]>
--- package/php/php.mk | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
package/php/php.mk +1 -1
@@ -4,7 +4,7 @@ # ############################################################# -PHP_VERSION = 5.2.13 +PHP_VERSION = 5.2.14 PHP_SOURCE = php-$(PHP_VERSION).tar.bz2 PHP_SITE = http://www.php.net/distributions PHP_INSTALL_STAGING = YES
Signature · 1 line
1.7.0.4
PATCH 14/20 netcat: prevent build system from adding a prefix to binaries
In reply to Thomas PetazzoniFixes bug #2239.
--- package/netcat/netcat.mk | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
package/netcat/netcat.mk +1 -0
@@ -10,5 +10,6 @@ NETCAT_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/netc NETCAT_AUTORECONF:=NO NETCAT_INSTALL_STAGING:=NO NETCAT_INSTALL_TARGET:=YES +NETCAT_CONF_OPT=--program-prefix= $(eval $(call AUTOTARGETS,package,netcat))
Signature · 1 line
1.7.0.4
PATCH 14/20 netcat: prevent build system from adding a prefix to binaries
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Fixes bug #2239.
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]> Thomas> ---
Thomas> package/netcat/netcat.mk | 1 +
Thomas> 1 files changed, 1 insertions(+), 0 deletions(-)
Thomas> diff --git a/package/netcat/netcat.mk b/package/netcat/netcat.mk
Thomas> index 31f6b71..c8b2a02 100644
Thomas> --- a/package/netcat/netcat.mk
Thomas> +++ b/package/netcat/netcat.mk
Thomas> @@ -10,5 +10,6 @@ NETCAT_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/netc
Thomas> NETCAT_AUTORECONF:=NO Thomas> NETCAT_INSTALL_STAGING:=NO Thomas> NETCAT_INSTALL_TARGET:=YES
Thomas> +NETCAT_CONF_OPT=--program-prefix=
Does that work? Elsewhere we always use --program-prefix=''.
While we're at it a bit of whitespace would increase readability, imho.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 14/20 netcat: prevent build system from adding a prefix to binaries
Quoted 1 line · On Mon, 23 Aug 2010 17:34:15 +0200 Peter Korsgaard <[email protected]> wrote:
Does that work?
Yes, it did work.
Quoted 1 line
Elsewhere we always use --program-prefix=''.
Ok, will use this.
Quoted 2 lines
While we're at it a bit of whitespace would increase readability, imho.
I've pushed a new version of the branch with those two fixes.
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 15/20 libxml-parser-perl/intltool: mark as host only packages
In reply to Thomas Petazzonilibxml-parser-perl and intltool were originally added to be built on the host, and we don't support building them on the target. So, let's mark them as such in the configuration, so that a random package configuration does not pick them up. We might later add target support for them.
--- package/intltool/Config.in | 3 +++ package/libxml-parser-perl/Config.in | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-)
package/intltool/Config.in +3 -0
@@ -1,5 +1,8 @@ config BR2_PACKAGE_INTLTOOL bool "intltool" + # Hide from configuration as we only support the host package + # for the moment + depends on BR2_HOST_ONLY help Utility scripts for internationalizing XML
package/libxml-parser-perl/Config.in +3 -0
@@ -1,6 +1,9 @@ config BR2_PACKAGE_LIBXML_PARSER_PERL bool "libxml-parser-perl" select BR2_PACKAGE_EXPAT + # Hide from configuration as we only support the host package + # for the moment + depends on BR2_HOST_ONLY help The Perl XML::Parser module.
Signature · 1 line
1.7.0.4
PATCH 16/20 Add new patches Lua upstream patches rename old ones
In reply to Thomas PetazzoniFrom: Francois Perrad <[email protected]>
Several new upstream patches against the latest version of Lua have appeared on http://www.lua.org/bugs.html. This commit adds them to Buildroot, and also renames the other patches to have a coherent patch
naming: lua-bugX, where X is the identifier of the bug as visible on
http://www.lua.org/bugs.html. Note that bug 1 and 2 are not associated with patches, which explains why the first patch is labeled lua-bug3.
Fixes bug #2365.
---
...ion.patch => lua-bug3-boolean_expression.patch} | 0
.../lua/{lua-table.patch => lua-bug4-table.patch} | 0
..._getfenv.patch => lua-bug5-debug_getfenv.patch} | 0
...ormance.patch => lua-bug6-gc_performance.patch} | 0
package/lua/lua-bug7-string_format.patch | 20 ++++++++++++++++++++
package/lua/lua-bug8-io_read.patch | 14 ++++++++++++++
6 files changed, 34 insertions(+), 0 deletions(-)
rename package/lua/{lua-boolean_expression.patch => lua-bug3-boolean_expression.patch} (100%)
rename package/lua/{lua-table.patch => lua-bug4-table.patch} (100%)
rename package/lua/{lua-debug_getfenv.patch => lua-bug5-debug_getfenv.patch} (100%)
rename package/lua/{lua-gc_performance.patch => lua-bug6-gc_performance.patch} (100%)
create mode 100644 package/lua/lua-bug7-string_format.patch
create mode 100644 package/lua/lua-bug8-io_read.patchpackage/lua/lua-bug3-boolean_expression.patch renamed from package/lua/lua-boolean_expression.patch +0 -0
package/lua/lua-bug4-table.patch renamed from package/lua/lua-table.patch +0 -0
package/lua/lua-bug5-debug_getfenv.patch renamed from package/lua/lua-debug_getfenv.patch +0 -0
package/lua/lua-bug6-gc_performance.patch renamed from package/lua/lua-gc_performance.patch +0 -0
package/lua/lua-bug7-string_format.patch new file +20 -0
@@ -0,0 +1,20 @@ +--- lua-5.1.4.orig/src/lstrlib.c 2008/07/11 17:27:21 1.132.1.4 ++++ lua-5.1.4/src/lstrlib.c 2010/05/14 15:12:53 +@@ -754,6 +754,7 @@ + + + static int str_format (lua_State *L) { ++ int top = lua_gettop(L); + int arg = 1; + size_t sfl; + const char *strfrmt = luaL_checklstring(L, arg, &sfl); +@@ -768,7 +769,8 @@ + else { /* format item */ + char form[MAX_FORMAT]; /* to store the format (`%...') */ + char buff[MAX_ITEM]; /* to store the formatted item */ +- arg++; ++ if (++arg > top) ++ luaL_argerror(L, arg, "no value"); + strfrmt = scanformat(L, strfrmt, form); + switch (*strfrmt++) { + case 'c': {
package/lua/lua-bug8-io_read.patch new file +14 -0
@@ -0,0 +1,14 @@ +--- lua-5.1.4.orig/src/liolib.c 2008/01/18 17:47:43 2.73.1.3 ++++ lua-5.1.4.orig/src/liolib.c 2010/05/14 15:29:29 +@@ -276,7 +276,10 @@ + lua_pushnumber(L, d); + return 1; + } +- else return 0; /* read fails */ ++ else { ++ lua_pushnil(L); /* "result" to be removed */ ++ return 0; /* read fails */ ++ } + } + +
Signature · 1 line
1.7.0.4
PATCH 17/20 luafilesystem: remove LARGE_FILE constraint
In reply to Thomas PetazzoniFrom: Francois Perrad <[email protected]>
Add a patch to luafilesystem so that it builds correctly when large files are not supported. This allows to remove the dependency of luafilesystem on large file support on the toolchain. Packages such as cgilua, wsapi and xavante, which depend on luafilesystem, also get their dependency on large file support removed.
Fixes bug #2359.
--- package/cgilua/Config.in | 4 ---- package/luafilesystem/Config.in | 6 +----- .../luafilesystem-without_large_file.patch | 20 ++++++++++++++++++++ package/luafilesystem/luafilesystem.mk | 6 +++++- package/wsapi/Config.in | 4 ---- package/xavante/Config.in | 4 ---- 6 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 package/luafilesystem/luafilesystem-without_large_file.patch
package/cgilua/Config.in +0 -4
@@ -1,6 +1,5 @@ config BR2_PACKAGE_CGILUA bool "cgilua" - depends on BR2_LARGEFILE select BR2_PACKAGE_LUA_SHARED_LIBRARY select BR2_PACKAGE_LUAFILESYSTEM help
@@ -8,6 +7,3 @@ config BR2_PACKAGE_CGILUA and manipulating input data from Web forms. http://luaforge.net/projects/cgilua/ - -comment "cgilua requires a toolchain with LARGEFILE support" - depends on !BR2_LARGEFILE
package/luafilesystem/Config.in +1 -5
@@ -1,12 +1,8 @@ config BR2_PACKAGE_LUAFILESYSTEM bool "luafilesystem" - depends on BR2_LARGEFILE select BR2_PACKAGE_LUA_SHARED_LIBRARY help LuaFileSystem offers a portable way to access the underlying directory structure and file attributes. - http://luaforge.net/projects/luafilesystem/ - -comment "luafilesystem requires a toolchain with LARGEFILE support" - depends on !BR2_LARGEFILE + http://keplerproject.github.com/luafilesystem/
package/luafilesystem/luafilesystem-without_large_file.patch new file +20 -0
@@ -0,0 +1,20 @@ +diff --git a/src/lfs.c b/src/lfs.c +index 85f01e3..ed49f50 100644 +--- a/src/lfs.c ++++ b/src/lfs.c +@@ -22,13 +22,13 @@ + + #ifndef _WIN32 + #ifndef _AIX +-#define _FILE_OFFSET_BITS 64 /* Linux, Solaris and HP-UX */ ++//#define _FILE_OFFSET_BITS 64 /* Linux, Solaris and HP-UX */ + #else + #define _LARGE_FILES 1 /* AIX */ + #endif + #endif + +-#define _LARGEFILE64_SOURCE ++//#define _LARGEFILE64_SOURCE + + #include <errno.h> + #include <stdio.h>
package/luafilesystem/luafilesystem.mk +5 -1
@@ -8,8 +8,12 @@ LUAFILESYSTEM_VERSION = 1.5.0 LUAFILESYSTEM_SITE = http://github.com/downloads/keplerproject/luafilesystem LUAFILESYSTEM_DEPENDENCIES = lua +ifeq ($(BR2_LARGEFILE),y) +LFS_CFLAGS = -D_FILE_OFFSET_BITS=64 _LARGEFILE64_SOURCE +endif + define LUAFILESYSTEM_BUILD_CMDS - $(MAKE) -C $(@D) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -fPIC" + $(MAKE) -C $(@D) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) $(LFS_CFLAGS) -fPIC" endef define LUAFILESYSTEM_INSTALL_TARGET_CMDS
package/wsapi/Config.in +0 -4
@@ -1,6 +1,5 @@ config BR2_PACKAGE_WSAPI bool "wsapi" - depends on BR2_LARGEFILE # luafilesystem select BR2_PACKAGE_COXPCALL select BR2_PACKAGE_LUAFILESYSTEM select BR2_PACKAGE_RINGS
@@ -8,6 +7,3 @@ config BR2_PACKAGE_WSAPI API that abstracts the web server from Lua web applications. http://keplerproject.github.com/wsapi/ - -comment "wsapi requires a toolchain with LARGEFILE support" - depends on !BR2_LARGEFILE
package/xavante/Config.in +0 -4
@@ -1,6 +1,5 @@ config BR2_PACKAGE_XAVANTE bool "xavante" - depends on BR2_LARGEFILE # luafilesystem select BR2_PACKAGE_LUA_SHARED_LIBRARY select BR2_PACKAGE_CGILUA select BR2_PACKAGE_COPAS
@@ -13,6 +12,3 @@ config BR2_PACKAGE_XAVANTE architecture based on URI mapped handlers. http://keplerproject.github.com/xavante/ - -comment "xavante requires a toolchain with LARGEFILE support" - depends on !BR2_LARGEFILE
Signature · 1 line
1.7.0.4
PATCH 18/20 lua: make sure that CFLAGS are passed
In reply to Thomas PetazzoniWe were passing a custom MYCFLAGS value to Lua's Makefile, but because of $(TARGET_CONFIGURE_OPTS), we were also passing a CFLAGS variable, which was overriding Lua's internal CFLAGS variable. The result was that MYCFLAGS wasn't taken into account.
Extracted from the patch proposed by Fran?ois Perrad in bug #2353.
--- package/lua/lua.mk | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
package/lua/lua.mk +3 -1
@@ -24,7 +24,9 @@ endif define LUA_BUILD_CMDS sed -i -e 's/-O2//' $(@D)/src/Makefile sed -i -e 's/\/usr\/local/\/usr/' $(@D)/etc/lua.pc - $(MAKE) $(TARGET_CONFIGURE_OPTS) MYCFLAGS="$(LUA_MYCFLAGS)" \ + $(MAKE) \ + CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \ + MYCFLAGS="$(TARGET_CFLAGS) $(LUA_MYCFLAGS)" \ MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \ PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all endef
Signature · 1 line
1.7.0.4
PATCH 19/20 sysvinit: make sure to link against libcrypt
In reply to Thomas Petazzonisysvinit Makefile checks if /usr/lib/libcrypt.a exists to determine whether it should link against libcrypt or not. This test fails on distributions such as Fedora, in which /usr/lib/libcrypt.a does not exist (it is in /usr/lib64), but where libcrypt is available on the target. As libcrypt is available in both uClibc and gclibc, we just force sysvinit to link against libcrypt.
Fixes bug #2401.
--- package/sysvinit/sysvinit.mk | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
package/sysvinit/sysvinit.mk +3 -1
@@ -21,7 +21,9 @@ $(SYSVINIT_DIR)/.unpacked: $(DL_DIR)/$(SYSVINIT_SOURCE) touch $@ $(SYSVINIT_DIR)/$(SYSVINIT_BINARY): $(SYSVINIT_DIR)/.unpacked - CFLAGS="$(TARGET_CFLAGS)" $(MAKE) CC="$(TARGET_CC)" -C $(SYSVINIT_DIR)/src + # Force sysvinit to link against libcrypt as it otherwise + # use an incorrect test to see if it's available + CFLAGS="$(TARGET_CFLAGS)" $(MAKE) CC="$(TARGET_CC)" LCRYPT="-lcrypt" -C $(SYSVINIT_DIR)/src $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY): $(SYSVINIT_DIR)/$(SYSVINIT_BINARY) for x in halt init shutdown; do \
Signature · 1 line
1.7.0.4
PATCH 20/20 sysvinit: remove unneeded dependency on ncurses
In reply to Thomas Petazzoni--- package/sysvinit/Config.in | 1 - package/sysvinit/sysvinit.mk | 2 +- 2 files changed, 1 insertions(+), 2 deletions(-)
package/sysvinit/Config.in +0 -1
@@ -1,6 +1,5 @@ config BR2_PACKAGE_SYSVINIT bool "sysvinit" - select BR2_PACKAGE_NCURSES help /sbin/init - parent of all processes
package/sysvinit/sysvinit.mk +1 -1
@@ -30,7 +30,7 @@ $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY): $(SYSVINIT_DIR)/$(SYSVINIT_BINARY) install -D $(SYSVINIT_DIR)/src/$$x $(TARGET_DIR)/sbin/$$x || exit 1; \ done -sysvinit: ncurses $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY) +sysvinit: $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY) sysvinit-source: $(DL_DIR)/$(SYSVINIT_SOURCE)
Signature · 1 line
1.7.0.4
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Hello Peter, hello all,
Thomas> Here is the stack of patches I've accumulated for the 2010.08 Thomas> release. They either fix bugs reported by users, fix various build Thomas> issues, or deprecate things such as the Cris architecture.
Thanks a lot Thomas, much appreciated. I'm just back from vacation and trying to dig though the mail pile, but from a quick look this all seems fine.
I'll have a closer look tomorrow and pull.
Thomas> There are a few remaining issues that I think should be fixed before Thomas> 2010.08 is released:
Thomas> * The ldconfig problem on Fedora 13. I've been able to reproduce it
Thomas> after installing Fedora 13 in a VM, but I haven't had the time to
Thomas> figure out the correct solution for it.
I haven't looked at that yet either.
Thomas> * Several configuration cache related issues. It seems to me that
Thomas> sharing the configuration cache between different packages is in Thomas> fact hard to achieve in a reliable way. Maybe we should revert back Thomas> to the configuration cache disabled by default.
Yeah, might just be the safest indeed.
Thomas> * The gcc 4.2 build problem. gcc 4.2 used to build properly, but has
Thomas> been broken by the new gcc build process introduced to support NPTL Thomas> in uClibc. Khem has sent a patch that fixes this problem by adding Thomas> a couple of #ifndef inhibit_libc ... #endif, but I'm not sure about Thomas> it, so I preferred to get your opinion.
I haven't looked at it in detail, but from a quick look it seems OK.
Thomas> * The uClibc 0.9.31 / C++ / locale problem, for which Khem has also
Thomas> sent a patch.
OK.
Thomas> Regards,
Thomas> Thomas
Thomas> The following changes since commit 2ef83b42b97e7a098c9bef34109c5a8896a17b76:
Thomas> Peter Korsgaard (1):
Thomas> update for 2010.08-rc1
Thomas> are available in the git repository at:
Thomas> git://git.busybox.net/~tpetazzoni/git/buildroot for-2010.08
Thomas> Francois Perrad (2):
Thomas> Add new patches Lua upstream patches rename old ones
That's a strange sentence.
Thomas> Make uClibc gen_wc8bit shows an error when no locale support available
s/shows/show/
Signature · 1 line
Bye, Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Hello Peter, hello all,
Thomas> Here is the stack of patches I've accumulated for the 2010.08 Thomas> release. They either fix bugs reported by users, fix various build Thomas> issues, or deprecate things such as the Cris architecture.
Pulled and pushed, thanks!
Signature · 1 line
Bye, Peter Korsgaard