Skip to contentSkip to conversation

Pull request for branch for-2010.08

GIT PULL New Thomas Petazzoni 2 participants 27 messages Aug 22, 2010 – Aug 25, 2010

lore
Share & tools
lore
#0 lore raw

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.patch

Thanks,

Signature · 1 line
Thomas Petazzoni
#1 lore raw

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
new file mode 100644
index 0000000..b115c41
@@ -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
#2 lore raw

PATCH 2/20 Add dependency from util-linux on ncurses

In reply to Thomas Petazzoni

util-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
index f330447..445b4d1 100644
@@ -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
#3 lore raw

PATCH 3/20 Make uClibc gen_wc8bit shows an error when no locale support available

In reply to Thomas Petazzoni

When 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
new file mode 100644
index 0000000..2fe6c50
@@ -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
new file mode 100644
index 0000000..1305add
@@ -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
#4 lore raw

PATCH 4/20 Detect early if an UTF-8 locale is needed

In reply to Thomas Petazzoni

Check 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
index d500424..b334811 100644
@@ -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
index b3822ef..b47e9d8 100755
@@ -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
#5 lore raw

PATCH 5/20 Add the traditional powerpc-link-with-math-lib patch to gcc 4.4.4

In reply to Thomas Petazzoni

Patch 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
new file mode 100644
index 0000000..3fe8757
@@ -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
#6 lore raw

PATCH 6/20 Mark CRIS architecture as deprecated

In reply to Thomas Petazzoni

The 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
index d3a4025..ce64068 100644
@@ -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
#7 lore raw

PATCH 7/20 Prevent C++ + locale + uClibc 0.9.31 + gcc 4.2 to be selected

In reply to Thomas Petazzoni

The 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
index 3c70f9c..ea06ace 100644
@@ -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
#8 lore raw

PATCH 8/20 Update busybox 1.17.1 fixes

In reply to Thomas Petazzoni

From: 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
new file mode 100644
index 0000000..1b523c2
@@ -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
index 04adc8f..5279b12 100644
@@ -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
#9 lore raw

PATCH 9/20 imagemagick: don't create useless debugging file

In reply to Thomas Petazzoni

For 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
index 00895f5..9eb9d69 100644
@@ -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
#10 lore raw

PATCH 10/20 libglib2: add patch to rework clock_gettime() test

In reply to Thomas Petazzoni

The 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
new file mode 100644
index 0000000..6161c7f
@@ -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
index 8dc1fcb..61e8c1c 100644
@@ -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
#11 lore raw

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
#12 lore raw

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
#13 lore raw

PATCH 11/20 lzo: fix host-lzo build failure when config cache is filled

In reply to Thomas Petazzoni

When 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
new file mode 100644
index 0000000..8f860f4
@@ -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
new file mode 100644
index 0000000..26aece7
@@ -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
new file mode 100644
index 0000000..9f23e40
@@ -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
index ed30056..bfa6679 100644
@@ -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
#14 lore raw

PATCH 12/20 Bump stable kernel headers

In reply to Thomas Petazzoni

From: 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
index fea3ee4..e60595f 100644
@@ -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
similarity index 100%
rename from toolchain/kernel-headers/linux-2.6.32.16-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
rename to toolchain/kernel-headers/linux-2.6.32.18-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
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
similarity index 100%
rename from toolchain/kernel-headers/linux-2.6.33.6-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
rename to toolchain/kernel-headers/linux-2.6.33.7-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
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
similarity index 100%
rename from toolchain/kernel-headers/linux-2.6.34.1-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
rename to toolchain/kernel-headers/linux-2.6.34.3-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
Signature · 1 line
1.7.0.4
#15 lore raw

PATCH 13/20 Security bump php to 5.2.14

In reply to Thomas Petazzoni

From: Gustavo Zacarias <[email protected]>

---
 package/php/php.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
package/php/php.mk +1 -1
index 962547f..9396311 100644
@@ -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
#16 lore raw

PATCH 14/20 netcat: prevent build system from adding a prefix to binaries

In reply to Thomas Petazzoni

Fixes bug #2239.

---
 package/netcat/netcat.mk |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
package/netcat/netcat.mk +1 -0
index 31f6b71..c8b2a02 100644
@@ -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
#17 lore raw

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
#18 lore raw

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
#19 lore raw

PATCH 15/20 libxml-parser-perl/intltool: mark as host only packages

In reply to Thomas Petazzoni

libxml-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
index 94b34f7..990a227 100644
@@ -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
index d20a401..e90e50e 100644
@@ -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
#20 lore raw

PATCH 16/20 Add new patches Lua upstream patches rename old ones

In reply to Thomas Petazzoni

From: 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.patch
package/lua/lua-bug3-boolean_expression.patch renamed from package/lua/lua-boolean_expression.patch +0 -0
similarity index 100%
rename from package/lua/lua-boolean_expression.patch
rename to package/lua/lua-bug3-boolean_expression.patch
package/lua/lua-bug4-table.patch renamed from package/lua/lua-table.patch +0 -0
similarity index 100%
rename from package/lua/lua-table.patch
rename to package/lua/lua-bug4-table.patch
package/lua/lua-bug5-debug_getfenv.patch renamed from package/lua/lua-debug_getfenv.patch +0 -0
similarity index 100%
rename from package/lua/lua-debug_getfenv.patch
rename to package/lua/lua-bug5-debug_getfenv.patch
package/lua/lua-bug6-gc_performance.patch renamed from package/lua/lua-gc_performance.patch +0 -0
similarity index 100%
rename from package/lua/lua-gc_performance.patch
rename to package/lua/lua-bug6-gc_performance.patch
package/lua/lua-bug7-string_format.patch new file +20 -0
new file mode 100644
index 0000000..68f3197
@@ -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
new file mode 100644
index 0000000..fb56bcf
@@ -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
#21 lore raw

PATCH 17/20 luafilesystem: remove LARGE_FILE constraint

In reply to Thomas Petazzoni

From: 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
index a74e49f..b43ba97 100644
@@ -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
index 6cb6c24..edcb414 100644
@@ -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
new file mode 100644
index 0000000..b1f41c0
@@ -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
index a27080c..e688734 100644
@@ -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
index 472bbfc..3621648 100644
@@ -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
index a1b47c3..a7df530 100644
@@ -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
#22 lore raw

PATCH 18/20 lua: make sure that CFLAGS are passed

In reply to Thomas Petazzoni

We 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
index d66be9f..598eea1 100644
@@ -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
#23 lore raw

PATCH 19/20 sysvinit: make sure to link against libcrypt

In reply to Thomas Petazzoni

sysvinit 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
index 0b827e6..09aaf74 100644
@@ -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
#24 lore raw

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
index 82826dc..34ec391 100644
@@ -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
index 09aaf74..ef7c713 100644
@@ -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
#25 lore raw
In reply to Thomas Petazzoni
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
#26 lore raw
In reply to Thomas Petazzoni
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