Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request] Pull request for branch misc-build-fixes
@ 2010-07-16  9:18 Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 1/5] Bump dhcp to 4.1.1-P1 and convert to autotools Thomas Petazzoni
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2010-07-16  9:18 UTC (permalink / raw)
  To: buildroot

The following changes since commit a67a62c296103f50bff9f9e6bcfb90def2b8d62e:
  Sagaert Johan (1):
        qt: fix javscriptcore/multimedia build with uClibc

are available in the git repository at:

  git://git.busybox.net/~tpetazzoni/git/buildroot misc-build-fixes

Thomas Petazzoni (5):
      Bump dhcp to 4.1.1-P1 and convert to autotools
      Update defconfigs after DHCP option rename
      Bump MySQL to 5.1.47 and fix build
      Fix Qt build with MySQL
      sdl: fix build of other sdl components

 configs/arm_toolchain_defconfig                    |    2 +-
 configs/at91rm9200df_ext_bare_defconfig            |    2 +-
 configs/at91sam9260dfc_ext_bare_defconfig          |    2 +-
 configs/at91sam9260pf_defconfig                    |    2 +-
 configs/at91sam9261ek_ext_bare_defconfig           |    2 +-
 configs/at91sam9263ek_ext_bare_defconfig           |    2 +-
 configs/at91sam9g20dfc_ext_bare_defconfig          |    2 +-
 configs/atstk100x_defconfig                        |    2 +-
 configs/kb9202_defconfig                           |    2 +-
 configs/v100sc2_defconfig                          |    2 +-
 package/dhcp/Config.in                             |    8 +-
 package/dhcp/dhcp.mk                               |  126 ++----
 package/dhcp/dhcp_xecute.patch                     |  452 --------------------
 .../mysql_client-5.1.47-ac_cache_check.patch       |  151 +++++++
 ...ql_client-5.1.47-configure-ps-cache-check.patch |   35 ++
 ...ysql_client-5.1.47-use-new-readline-iface.patch |   17 +
 package/mysql_client/mysql_client.mk               |   18 +-
 package/qt/Config.sql.in                           |    1 +
 package/qt/qt.mk                                   |   14 +-
 package/sdl/sdl.mk                                 |   14 +-
 20 files changed, 290 insertions(+), 566 deletions(-)
 delete mode 100644 package/dhcp/dhcp_xecute.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch

Thanks,
-- 
Thomas Petazzoni

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/5] Bump dhcp to 4.1.1-P1 and convert to autotools
  2010-07-16  9:18 [Buildroot] [pull request] Pull request for branch misc-build-fixes Thomas Petazzoni
@ 2010-07-16  9:18 ` Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 2/5] Update defconfigs after DHCP option rename Thomas Petazzoni
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2010-07-16  9:18 UTC (permalink / raw)
  To: buildroot

dhcp 3.0.5 was causing build issues due to its build system not based
on the autotools. Instead of work-arounding dhcp 3.0.5 issues, this
commit bumps to 4.1.1 which uses the autotools as the build
system. The package is therefore converted to the autotools
infrastructure.

The dhcp_xecute patch is no longer needed, this feature seems to have
been merged into the upstream dhcp (according to the manpage).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/dhcp/Config.in         |    8 +-
 package/dhcp/dhcp.mk           |  126 ++++--------
 package/dhcp/dhcp_xecute.patch |  452 ----------------------------------------
 3 files changed, 41 insertions(+), 545 deletions(-)
 delete mode 100644 package/dhcp/dhcp_xecute.patch

diff --git a/package/dhcp/Config.in b/package/dhcp/Config.in
index caf273f..eeb237c 100644
--- a/package/dhcp/Config.in
+++ b/package/dhcp/Config.in
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_ISC_DHCP
+config BR2_PACKAGE_DHCP
 	bool "DHCP support"
 	help
 	  DHCP relay agent from the ISC DHCP distribution.
@@ -7,21 +7,21 @@ config BR2_PACKAGE_ISC_DHCP
 
 config BR2_PACKAGE_DHCP_SERVER
 	bool "dhcp server"
-	depends on BR2_PACKAGE_ISC_DHCP
+	depends on BR2_PACKAGE_DHCP
 	help
 	  DHCP server from the ISC DHCP distribution.
 
 
 config BR2_PACKAGE_DHCP_RELAY
 	bool "dhcp relay"
-	depends on BR2_PACKAGE_ISC_DHCP
+	depends on BR2_PACKAGE_DHCP
 	help
 	  DHCP relay agent from the ISC DHCP distribution.
 
 
 config BR2_PACKAGE_DHCP_CLIENT
 	bool "dhcp client"
-	depends on BR2_PACKAGE_ISC_DHCP
+	depends on BR2_PACKAGE_DHCP
 	help
 	  DHCP client from the ISC DHCP distribution.
 
diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk
index 57e0a5d..bf3f775 100644
--- a/package/dhcp/dhcp.mk
+++ b/package/dhcp/dhcp.mk
@@ -3,108 +3,56 @@
 # dhcp
 #
 #############################################################
-DHCP_VERSION:=3.0.5
-DHCP_SOURCE:=dhcp-$(DHCP_VERSION).tar.gz
-DHCP_SITE:=ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history
-DHCP_CAT:=$(ZCAT)
-DHCP_DIR:=$(BUILD_DIR)/dhcp-$(DHCP_VERSION)
-DHCP_SERVER_BINARY:=work.linux-2.2/server/dhcpd
-DHCP_RELAY_BINARY:=work.linux-2.2/relay/dhcrelay
-DHCP_CLIENT_BINARY:=work.linux-2.2/client/dhclient
-DHCP_SERVER_TARGET_BINARY:=usr/sbin/dhcpd
-DHCP_RELAY_TARGET_BINARY:=usr/sbin/dhcrelay
-DHCP_CLIENT_TARGET_BINARY:=usr/sbin/dhclient
-BVARS=PREDEFINES='-D_PATH_DHCPD_DB=\"/var/lib/dhcp/dhcpd.leases\" \
-	-D_PATH_DHCLIENT_DB=\"/var/lib/dhcp/dhclient.leases\"' \
-	VARDB=/var/lib/dhcp
+DHCP_VERSION  = 4.1.1-P1
+DHCP_SOURCE   = dhcp-$(DHCP_VERSION).tar.gz
+DHCP_SITE     = http://ftp.isc.org/isc/dhcp/
+DHCP_CONF_ENV = ac_cv_file__dev_random=yes
+DHCP_CONF_OPT = \
+	--localstatedir=/var/lib/dhcp \
+	--with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
+	--with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
+	--with-srv-pid-file=/var/run/dhcpd.pid \
+	--with-cli-pid-file=/var/run/dhclient.pid \
+	--with-relay-pid-file=/var/run/dhcrelay.pid \
+	--disable-dhcpv6
 
-$(DL_DIR)/$(DHCP_SOURCE):
-	 $(call DOWNLOAD,$(DHCP_SITE),$(DHCP_SOURCE))
-
-dhcp-source: $(DL_DIR)/$(DHCP_SOURCE)
-
-dhcp_server-source: dhcp-source
-dhcp_relay-source: dhcp-source
-dhcp_client-source: dhcp-source
-
-$(DHCP_DIR)/.unpacked: $(DL_DIR)/$(DHCP_SOURCE)
-	$(DHCP_CAT) $(DL_DIR)/$(DHCP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	toolchain/patch-kernel.sh $(DHCP_DIR) package/dhcp/ dhcp\*.patch
-	touch $@
-
-$(DHCP_DIR)/.configured: $(DHCP_DIR)/.unpacked
-	(cd $(DHCP_DIR); \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(TARGET_CONFIGURE_ARGS) \
-		./configure; \
-	)
-	touch $@
-
-$(DHCP_DIR)/$(DHCP_RELAY_BINARY): $(DHCP_DIR)/.configured
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(BVARS) -C $(DHCP_DIR)
-	$(STRIPCMD) $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
-
-$(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
+ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
+define DHCP_INSTALL_SERVER
 	mkdir -p $(TARGET_DIR)/var/lib
-	(cd $(TARGET_DIR)/var/lib; \
-		ln -snf /tmp dhcp; \
-	)
-	$(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_SERVER_BINARY) \
-		$(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)
-	mkdir -p $(TARGET_DIR)/etc/init.d
-	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
-		$(TARGET_DIR)/etc/init.d
+	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
+	$(INSTALL) -m 0755 -D $(@D)/server/dhcpd $(TARGET_DIR)/usr/sbin/dhcpd
+	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server $(TARGET_DIR)/etc/init.d
 	mkdir -p $(TARGET_DIR)/etc/dhcp
-	$(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
-		$(TARGET_DIR)/etc/dhcp/dhcpd.conf
-	rm -rf $(TARGET_DIR)/share/locale
+	$(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf $(TARGET_DIR)/etc/dhcp/dhcpd.conf
+endef
+endif
 
-$(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
+ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
+define DHCP_INSTALL_RELAY
 	mkdir -p $(TARGET_DIR)/var/lib
 	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
-	$(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_RELAY_BINARY) \
-		$(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)
-	mkdir -p $(TARGET_DIR)/etc/init.d
-	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
-		$(TARGET_DIR)/etc/init.d
+	$(INSTALL) -m 0755 -D $(DHCP_DIR)/relay/dhcrelay $(TARGET_DIR)/usr/sbin/
+	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay $(TARGET_DIR)/etc/init.d
+endef
+endif
 
-$(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
+ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
+define DHCP_INSTALL_CLIENT
 	mkdir -p $(TARGET_DIR)/var/lib
 	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
-	$(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_CLIENT_BINARY) \
-		$(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)
+	$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient $(TARGET_DIR)/usr/sbin
 	mkdir -p $(TARGET_DIR)/etc/dhcp
 	$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
 		$(TARGET_DIR)/etc/dhcp/dhclient.conf
 	$(INSTALL) -m 0755 -D package/dhcp/dhclient-script \
 		$(TARGET_DIR)/sbin/dhclient-script
+endef
+endif
 
-dhcp_server: $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)
-
-dhcp_relay: $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)
-
-dhcp_client: $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)
-
-dhcp-clean:
-	-$(MAKE) -C $(DHCP_DIR) clean
-
-dhcp-dirclean:
-	rm -rf $(DHCP_DIR)
+define DHCP_INSTALL_TARGET_CMDS
+	$(DHCP_INSTALL_RELAY)
+	$(DHCP_INSTALL_SERVER)
+	$(DHCP_INSTALL_CLIENT)
+endef
 
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-#ifeq ($(BR2_PACKAGE_ISC_DHCP),y)
-#TARGETS+=dhcp
-#endif
-ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
-TARGETS+=dhcp_server
-endif
-ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
-TARGETS+=dhcp_relay
-endif
-ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
-TARGETS+=dhcp_client
-endif
+$(eval $(call AUTOTARGETS,package,dhcp))
diff --git a/package/dhcp/dhcp_xecute.patch b/package/dhcp/dhcp_xecute.patch
deleted file mode 100644
index 0daff10..0000000
--- a/package/dhcp/dhcp_xecute.patch
+++ /dev/null
@@ -1,452 +0,0 @@
-diff -urN dhcp-3.0.2.orig/common/conflex.c dhcp-3.0.2/common/conflex.c
---- dhcp-3.0.2.orig/common/conflex.c	2004-11-24 10:39:15.000000000 -0700
-+++ dhcp-3.0.2/common/conflex.c	2005-02-24 12:32:12.000000000 -0700
-@@ -676,6 +676,8 @@
- 			return EVAL;
- 		if (!strcasecmp (atom + 1, "ncapsulate"))
- 			return ENCAPSULATE;
-+  if (!strcasecmp (atom + 1, "xecute"))
-+          return EXECUTE;
- 		break;
- 	      case 'f':
- 		if (!strcasecmp (atom + 1, "atal"))
-diff -urN dhcp-3.0.2.orig/common/dhcp-eval.5 dhcp-3.0.2/common/dhcp-eval.5
---- dhcp-3.0.2.orig/common/dhcp-eval.5	2005-01-19 13:00:52.000000000 -0700
-+++ dhcp-3.0.2/common/dhcp-eval.5	2005-02-24 12:32:12.000000000 -0700
-@@ -409,7 +409,32 @@
- Rebind - DHCP client is in the REBINDING state - it has an IP address,
- and is trying to contact any server to renew it.   The next message to
- be sent will be a DHCPREQUEST, which will be broadcast.
--.RE
-+.PP
-+.B execute (\fIcommand-path\fB, \fIdata-expr1\fB ... \fIdata-exprN\fB)\fR
-+.PP
-+External command execution is possibly through execute expressions. Execute
-+takes a variable number of arguments, where the first is the command
-+name (full path or only the name of the executable) and following zero
-+or more are data-expressions which values will be passed as external
-+arguments. It returns the return code of the external command.
-+.PP
-+Execute is synchronous, and the program will block until the external
-+command being run has finished. Please note that lengthy program
-+execution (for example, in an "on commit" in the dhcpd) may result in
-+bad performance and timed out clients. Try keeping the execution times
-+short.
-+.PP
-+Passing user-supplied data might be dangerous. Check input buffers
-+and make sure the external command handles all kinds of "unusual"
-+characters (shell special characters in sh-scripts etc) correctly.
-+.PP
-+It is possible to use the execute expression in any context, not only
-+on events. If you put it in a regular scope in the configuration file
-+you will execute that command every time a scope is evaluated.
-+.PP
-+The execute expression is only available if you have defined ENABLE_EXECUTE
-+in site.h before compilation.
-+RE
- .SH REFERENCE: LOGGING
- Logging statements may be used to send information to the standard logging
- channels.  A logging statement includes an optional priority (\fBfatal\fR,
-diff -urN dhcp-3.0.2.orig/common/parse.c dhcp-3.0.2/common/parse.c
---- dhcp-3.0.2.orig/common/parse.c	2004-09-30 14:38:31.000000000 -0600
-+++ dhcp-3.0.2/common/parse.c	2005-02-24 12:32:12.000000000 -0700
-@@ -3639,7 +3639,56 @@
- 			return 0;
- 		}
- 		break;
--	
-+  #ifdef ENABLE_EXECUTE
-+  case EXECUTE:
-+   token = next_token (&val, (unsigned *)0, cfile);
-+   
-+   if (!expression_allocate (expr, MDL))
-+    log_fatal ("can't allocate expression.");
-+   
-+   token = next_token (&val, (unsigned *)0, cfile);
-+   if (token != LPAREN) {
-+    parse_warn (cfile, "left parenthesis expected.");
-+    skip_to_semi (cfile);
-+    *lose = 1;
-+    return 0;
-+   }
-+   token = next_token (&val, (unsigned *)0, cfile);
-+   (*expr) -> data.funcall.name =
-+   dmalloc (strlen (val) + 1, MDL);
-+   if (!(*expr)->data.funcall.name)
-+    log_fatal ("can't allocate command name");
-+   strcpy ((*expr) -> data.funcall.name, val);
-+   token = next_token (&val, (unsigned *)0, cfile);
-+   ep = &((*expr) -> data.funcall.arglist);
-+   while (token == COMMA) {
-+    if (!expression_allocate (ep, MDL))
-+     log_fatal ("can't allocate expression");
-+    if (!parse_data_expression (&(*ep) -> data.arg.val,
-+    cfile, lose)) {
-+     skip_to_semi (cfile);
-+     *lose = 1;
-+    return 0;
-+    }
-+    ep = &((*ep) -> data.arg.next);
-+    token = next_token (&val, (unsigned *)0, cfile);
-+    }
-+   (*expr) -> op = expr_execute;
-+   if (token != RPAREN) {
-+    parse_warn (cfile, "right parenthesis expected.");
-+    skip_to_semi (cfile);
-+    *lose = 1;
-+    return 0;
-+   }
-+  break;
-+  #else
-+  case EXECUTE:
-+   parse_warn (cfile, "define ENABLE_EXECUTE in site.h to enable execute expressions.");
-+   skip_to_semi (cfile);
-+   *lose = 1;
-+   return 0;
-+  break;
-+  #endif
- 	      case ENCODE_INT:
- 		token = next_token (&val, (unsigned *)0, cfile);	
- 		token = next_token (&val, (unsigned *)0, cfile);
-diff -urN dhcp-3.0.2.orig/common/print.c dhcp-3.0.2/common/print.c
---- dhcp-3.0.2.orig/common/print.c	2004-06-17 14:54:39.000000000 -0600
-+++ dhcp-3.0.2/common/print.c	2005-02-24 12:32:12.000000000 -0700
-@@ -459,6 +459,7 @@
- {
- 	unsigned rv, left;
- 	const char *s;
-+ struct expression* next_arg;
- 	
- 	switch (expr -> op) {
- 	      case expr_none:
-@@ -483,7 +484,8 @@
- 			return rv;
- 		}
- 		break;
--
-+		
-+		
- 	      case expr_equal:
- 		if (len > 6) {
- 			rv = 4;
-@@ -1024,6 +1026,29 @@
- 			buf [rv++] = 0;
- 			return rv;
- 		}
-+  #ifdef ENABLE_EXECUTE
-+  case expr_execute:
-+   rv = 11 + strlen (expr -> data.funcall.name);
-+   if (len > rv + 2) {
-+    sprintf (buf,
-+    "(execute \"%s\"",
-+    expr -> data.funcall.name);
-+    for(next_arg = expr -> data.funcall.arglist;
-+    next_arg;
-+    next_arg = next_arg -> data.arg.next) {
-+     if (len > rv + 3)
-+      buf [rv++] = ' ';
-+     rv += print_subexpression (next_arg ->
-+     data.arg.val,
-+     buf + rv,
-+     len - rv - 2);
-+    }
-+    buf [rv++] = ')';
-+    buf [rv] = 0;
-+    return rv;
-+   }
-+  break;
-+  #endif
- 	}
- 	return 0;
- }
-diff -urN dhcp-3.0.2.orig/common/tree.c dhcp-3.0.2/common/tree.c
---- dhcp-3.0.2.orig/common/tree.c	2004-11-24 10:39:16.000000000 -0700
-+++ dhcp-3.0.2/common/tree.c	2005-02-24 12:32:12.000000000 -0700
-@@ -50,6 +50,113 @@
- int resolver_inited = 0;
- #endif
- 
-+#ifdef ENABLE_EXECUTE
-+static unsigned long execute (char** args)
-+{
-+pid_t p = fork();
-+if (p > 0) {
-+int status;
-+waitpid (p, &status, 0);
-+return WEXITSTATUS(status);
-+}
-+else if(p == 0) {
-+execvp (args[0], args);
-+log_error ("Unable to execute %s: %s", args[0],
-+strerror(errno));
-+_exit(127);
-+} else {
-+log_fatal ("unable to fork");
-+}
-+return 1; /* never reached */
-+}
-+
-+#define CAPACITY_INCREMENT 8
-+static void append_to_ary (char*** ary_ptr, int* ary_size, int* ary_capacity,
-+char* new_element)
-+{
-+(*ary_size)++;
-+if (*ary_size > *ary_capacity) {
-+char** new_ary;
-+int new_ary_capacity = *ary_capacity + CAPACITY_INCREMENT;
-+new_ary = dmalloc(new_ary_capacity*sizeof(char *), MDL);
-+if (!new_ary)
-+log_fatal ("no memory for array.");
-+if (*ary_ptr != NULL) {
-+memcpy (new_ary, *ary_ptr,
-+(*ary_capacity)*sizeof(char *));
-+dfree (*ary_ptr, MDL);
-+}
-+*ary_ptr = new_ary;
-+*ary_capacity = new_ary_capacity;
-+}
-+(*ary_ptr)[*ary_size-1] = new_element;
-+}
-+
-+static char* data_string_to_char_string (struct data_string* d)
-+{
-+char* str = dmalloc (d->len+1, MDL);
-+if (!str)
-+log_fatal ("no memory for string.");
-+/* FIXME: should one use d -> buffer -> data or d -> data? are
-+they equivalent? */
-+strncpy (str, d -> data, d -> len);
-+str[d->len] = '\0';
-+return str;
-+}
-+
-+static int evaluate_execute (unsigned long* result, struct packet *packet,
-+struct lease *lease,
-+struct client_state *client_state,
-+struct option_state *in_options,
-+struct option_state *cfg_options,
-+struct binding_scope **scope,
-+struct expression* expr)
-+{
-+int status;
-+int cmd_status;
-+int i;
-+struct data_string ds;
-+struct expression* next_arg;
-+char** arg_ary = NULL;
-+int arg_ary_size = 0;
-+int arg_ary_capacity = 0;
-+append_to_ary (&arg_ary, &arg_ary_size, &arg_ary_capacity,
-+ expr -> data.funcall.name);
-+for(next_arg = expr -> data.funcall.arglist;
-+next_arg;
-+next_arg = next_arg -> data.arg.next) {
-+memset (&ds, 0, sizeof ds);
-+status = (evaluate_data_expression
-+(&ds, packet,
-+lease, client_state, in_options,
-+cfg_options, scope,
-+next_arg -> data.arg.val,
-+MDL));
-+if (!status) {
-+if (arg_ary) {
-+for (i=1; i<arg_ary_size; i++)
-+dfree (arg_ary[i], MDL);
-+dfree(arg_ary, MDL);
-+}
-+return 0;
-+}
-+append_to_ary (&arg_ary, &arg_ary_size, &arg_ary_capacity,
-+ data_string_to_char_string(&ds));
-+data_string_forget (&ds, MDL);
-+}
-+#if defined (DEBUG_EXPRESSIONS)
-+log_debug ("exec: execute");
-+#endif
-+append_to_ary (&arg_ary, &arg_ary_size, &arg_ary_capacity, NULL);
-+*result = execute (arg_ary);
-+for (i=1; i<arg_ary_size-1; i++)
-+dfree (arg_ary[i], MDL);
-+dfree(arg_ary, MDL);
-+return 1;
-+}
-+#endif
-+ 
-+
- pair cons (car, cdr)
- 	caddr_t car;
- 	pair cdr;
-@@ -861,6 +968,9 @@
- 	      case expr_extract_int8:
- 	      case expr_extract_int16:
- 	      case expr_extract_int32:
-+       #ifdef ENABLE_EXECUTE
-+       case expr_execute:
-+       #endif
- 	      case expr_const_int:
- 	      case expr_lease_time:
- 	      case expr_dns_transaction:
-@@ -1224,6 +1334,9 @@
- 	      case expr_extract_int8:
- 	      case expr_extract_int16:
- 	      case expr_extract_int32:
-+       #ifdef ENABLE_EXECUTE
-+       case expr_execute:
-+       #endif
- 	      case expr_const_int:
- 	      case expr_lease_time:
- 	      case expr_dns_transaction:
-@@ -2087,6 +2200,9 @@
- 	      case expr_extract_int8:
- 	      case expr_extract_int16:
- 	      case expr_extract_int32:
-+       #ifdef ENABLE_EXECUTE
-+       case expr_execute:
-+       #endif
- 	      case expr_const_int:
- 	      case expr_lease_time:
- 	      case expr_dns_transaction:
-@@ -2595,7 +2711,12 @@
- #endif
- 			return 0;
- 		}
--
-+#ifdef ENABLE_EXECUTE
-+      case expr_execute:
-+      return evaluate_execute (result, packet, lease,
-+       client_state, in_options,
-+       cfg_options, scope, expr);
-+#endif
- 	      case expr_ns_add:
- 	      case expr_ns_delete:
- 	      case expr_ns_exists:
-@@ -3008,6 +3129,9 @@
- 	return (expr -> op == expr_extract_int8 ||
- 		expr -> op == expr_extract_int16 ||
- 		expr -> op == expr_extract_int32 ||
-+  #ifdef ENABLE_EXECUTE
-+   expr -> op == expr_execute ||
-+  #endif
- 		expr -> op == expr_const_int ||
- 		expr -> op == expr_lease_time ||
- 		expr -> op == expr_dns_transaction ||
-@@ -3043,6 +3167,9 @@
- 		expr -> op == expr_extract_int8 ||
- 		expr -> op == expr_extract_int16 ||
- 		expr -> op == expr_extract_int32 ||
-+  #ifdef ENABLE_EXECUTE
-+  expr -> op == expr_execute ||
-+  #endif
- 		expr -> op == expr_dns_transaction);
- }
- 
-@@ -3069,6 +3196,9 @@
- 	      case expr_extract_int8:
- 	      case expr_extract_int16:
- 	      case expr_extract_int32:
-+       #ifdef ENABLE_EXECUTE
-+             case expr_execute:
-+       #endif
- 	      case expr_encode_int8:
- 	      case expr_encode_int16:
- 	      case expr_encode_int32:
-@@ -3165,6 +3295,9 @@
- 	      case expr_extract_int8:
- 	      case expr_extract_int16:
- 	      case expr_extract_int32:
-+       #ifdef ENABLE_EXECUTE
-+       case expr_execute:
-+       #endif
- 	      case expr_encode_int8:
- 	      case expr_encode_int16:
- 	      case expr_encode_int32:
-@@ -3225,6 +3358,8 @@
- 	int firstp;
- {
- 	struct expression *e;
-+ struct expression* next_arg;
-+ 
- 	const char *s;
- 	char obuf [65];
- 	int scol;
-@@ -3696,7 +3831,27 @@
- 					  expr -> data.variable);
- 		col = token_print_indent (file, col, indent, "", "", ")");
- 		break;
--
-+  #ifdef ENABLE_EXECUTE
-+  case expr_execute:
-+   col = token_print_indent (file, col, indent, "", "","execute");
-+   col = token_print_indent (file, col, indent, " ", "","(");
-+   scol = col;
-+   /* FIXME: use token_print_indent_concat() here? */
-+   col = token_print_indent (file, col, scol, "", "","\"");
-+   col = token_print_indent (file, col, scol, "", "",expr -> data.funcall.name);
-+   col = token_print_indent (file, col, scol, "", "","\"");
-+   for(next_arg = expr -> data.funcall.arglist;
-+   next_arg;
-+   next_arg = next_arg -> data.arg.next) {
-+    col = token_print_indent (file, col, scol, "", " ",",");
-+    col = write_expression (file,
-+    next_arg -> data.arg.val,
-+    col, scol, 0);
-+   }
-+   col = token_print_indent (file, col, indent, "", "",")");
-+   
-+  break;
-+#endif
- 	      default:
- 		log_fatal ("invalid expression type in print_expression: %d",
- 			   expr -> op);
-@@ -3915,6 +4070,9 @@
- 	      case expr_extract_int8:
- 	      case expr_extract_int16:
- 	      case expr_extract_int32:
-+       #ifdef ENABLE_EXECUTE
-+       case expr_execute:
-+       #endif
- 	      case expr_encode_int8:
- 	      case expr_encode_int16:
- 	      case expr_encode_int32:
-diff -urN dhcp-3.0.2.orig/includes/dhctoken.h dhcp-3.0.2/includes/dhctoken.h
---- dhcp-3.0.2.orig/includes/dhctoken.h	2004-09-21 13:25:38.000000000 -0600
-+++ dhcp-3.0.2/includes/dhctoken.h	2005-02-24 12:33:21.000000000 -0700
-@@ -308,7 +308,8 @@
- 	DOMAIN_NAME = 613,
- 	DO_FORWARD_UPDATE = 614,
- 	KNOWN_CLIENTS = 615,
--	ATSFP = 616
-+	ATSFP = 616,
-+	EXECUTE = 616
- };
- 
- #define is_identifier(x)	((x) >= FIRST_TOKEN &&	\
-diff -urN dhcp-3.0.2.orig/includes/site.h dhcp-3.0.2/includes/site.h
---- dhcp-3.0.2.orig/includes/site.h	2002-03-12 11:33:39.000000000 -0700
-+++ dhcp-3.0.2/includes/site.h	2005-02-24 12:32:12.000000000 -0700
-@@ -167,6 +167,12 @@
- 
- /* #define DHCPD_LOG_FACILITY LOG_DAEMON */
- 
-+/* Define this if you want to be able to execute external commands
-+   during conditional evaluation. */
-+
-+/* #define ENABLE_EXECUTE */
-+
-+
- /* Define this if you aren't debugging and you want to save memory
-    (potentially a _lot_ of memory) by allocating leases in chunks rather
-    than one at a time. */
-diff -urN dhcp-3.0.2.orig/includes/tree.h dhcp-3.0.2/includes/tree.h
---- dhcp-3.0.2.orig/includes/tree.h	2004-06-10 11:59:31.000000000 -0600
-+++ dhcp-3.0.2/includes/tree.h	2005-02-24 12:32:12.000000000 -0700
-@@ -150,6 +150,9 @@
- 	expr_hardware,
- 	expr_packet,
- 	expr_const_data,
-+ #ifdef ENABLE_EXECUTE
-+ expr_execute,
-+ #endif
- 	expr_extract_int8,
- 	expr_extract_int16,
- 	expr_extract_int32,
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 2/5] Update defconfigs after DHCP option rename
  2010-07-16  9:18 [Buildroot] [pull request] Pull request for branch misc-build-fixes Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 1/5] Bump dhcp to 4.1.1-P1 and convert to autotools Thomas Petazzoni
@ 2010-07-16  9:18 ` Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 3/5] Bump MySQL to 5.1.47 and fix build Thomas Petazzoni
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2010-07-16  9:18 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 configs/arm_toolchain_defconfig           |    2 +-
 configs/at91rm9200df_ext_bare_defconfig   |    2 +-
 configs/at91sam9260dfc_ext_bare_defconfig |    2 +-
 configs/at91sam9260pf_defconfig           |    2 +-
 configs/at91sam9261ek_ext_bare_defconfig  |    2 +-
 configs/at91sam9263ek_ext_bare_defconfig  |    2 +-
 configs/at91sam9g20dfc_ext_bare_defconfig |    2 +-
 configs/atstk100x_defconfig               |    2 +-
 configs/kb9202_defconfig                  |    2 +-
 configs/v100sc2_defconfig                 |    2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/configs/arm_toolchain_defconfig b/configs/arm_toolchain_defconfig
index 4c1e2c2..3062541 100644
--- a/configs/arm_toolchain_defconfig
+++ b/configs/arm_toolchain_defconfig
@@ -408,7 +408,7 @@ BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/at91rm9200df_ext_bare_defconfig b/configs/at91rm9200df_ext_bare_defconfig
index 1622cc7..fec2c04 100644
--- a/configs/at91rm9200df_ext_bare_defconfig
+++ b/configs/at91rm9200df_ext_bare_defconfig
@@ -329,7 +329,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/at91sam9260dfc_ext_bare_defconfig b/configs/at91sam9260dfc_ext_bare_defconfig
index f1939cc..540eef6 100644
--- a/configs/at91sam9260dfc_ext_bare_defconfig
+++ b/configs/at91sam9260dfc_ext_bare_defconfig
@@ -329,7 +329,7 @@ BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/at91sam9260pf_defconfig b/configs/at91sam9260pf_defconfig
index d444158..d83bb8c 100644
--- a/configs/at91sam9260pf_defconfig
+++ b/configs/at91sam9260pf_defconfig
@@ -330,7 +330,7 @@ BR2_NETWORK_SUPPORT=y
 # BR2_PACKAGE_BRIDGE is not set
 # BR2_PACKAGE_CURL is not set
 # BR2_PACKAGE_LIBCURL is not set
-BR2_PACKAGE_ISC_DHCP=y
+BR2_PACKAGE_DHCP=y
 # BR2_PACKAGE_DHCP_SERVER is not set
 # BR2_PACKAGE_DHCP_RELAY is not set
 BR2_PACKAGE_DHCP_CLIENT=y
diff --git a/configs/at91sam9261ek_ext_bare_defconfig b/configs/at91sam9261ek_ext_bare_defconfig
index e116f44..ab8851f 100644
--- a/configs/at91sam9261ek_ext_bare_defconfig
+++ b/configs/at91sam9261ek_ext_bare_defconfig
@@ -332,7 +332,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/at91sam9263ek_ext_bare_defconfig b/configs/at91sam9263ek_ext_bare_defconfig
index 4efc758..2578b95 100644
--- a/configs/at91sam9263ek_ext_bare_defconfig
+++ b/configs/at91sam9263ek_ext_bare_defconfig
@@ -331,7 +331,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/at91sam9g20dfc_ext_bare_defconfig b/configs/at91sam9g20dfc_ext_bare_defconfig
index 22676b7..49a5124 100644
--- a/configs/at91sam9g20dfc_ext_bare_defconfig
+++ b/configs/at91sam9g20dfc_ext_bare_defconfig
@@ -329,7 +329,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/atstk100x_defconfig b/configs/atstk100x_defconfig
index 0a718de..da58c26 100644
--- a/configs/atstk100x_defconfig
+++ b/configs/atstk100x_defconfig
@@ -376,7 +376,7 @@ BR2_PACKAGE_AVAHI_AUTOIPD=y
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 BR2_PACKAGE_DROPBEAR=y
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/kb9202_defconfig b/configs/kb9202_defconfig
index 9300f28..f2dddb7 100644
--- a/configs/kb9202_defconfig
+++ b/configs/kb9202_defconfig
@@ -360,7 +360,7 @@ BR2_NETWORK_SUPPORT=y
 # BR2_PACKAGE_BRIDGE is not set
 # BR2_PACKAGE_CURL is not set
 # BR2_PACKAGE_LIBCURL is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
diff --git a/configs/v100sc2_defconfig b/configs/v100sc2_defconfig
index c85a4d8..17a627e 100644
--- a/configs/v100sc2_defconfig
+++ b/configs/v100sc2_defconfig
@@ -335,7 +335,7 @@ BR2_NETWORK_SUPPORT=y
 # BR2_PACKAGE_BRIDGE is not set
 # BR2_PACKAGE_CURL is not set
 # BR2_PACKAGE_LIBCURL is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 BR2_PACKAGE_DROPBEAR=y
 # BR2_PACKAGE_ETHTOOL is not set
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 3/5] Bump MySQL to 5.1.47 and fix build
  2010-07-16  9:18 [Buildroot] [pull request] Pull request for branch misc-build-fixes Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 1/5] Bump dhcp to 4.1.1-P1 and convert to autotools Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 2/5] Update defconfigs after DHCP option rename Thomas Petazzoni
@ 2010-07-16  9:18 ` Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 4/5] Fix Qt build with MySQL Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 5/5] sdl: fix build of other sdl components Thomas Petazzoni
  4 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2010-07-16  9:18 UTC (permalink / raw)
  To: buildroot

MySQL build has been broken for quite some time due to the ./configure
inability to find out how to use 'ps' to find the PID of a running
program. This commit bumps MySQL to the latest version and adds a few
patches to fix various build issues, including the 'ps' issue.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .../mysql_client-5.1.47-ac_cache_check.patch       |  151 ++++++++++++++++++++
 ...ql_client-5.1.47-configure-ps-cache-check.patch |   35 +++++
 ...ysql_client-5.1.47-use-new-readline-iface.patch |   17 +++
 package/mysql_client/mysql_client.mk               |   18 ++-
 4 files changed, 216 insertions(+), 5 deletions(-)
 create mode 100644 package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch

diff --git a/package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch b/package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch
new file mode 100644
index 0000000..6bdfeae
--- /dev/null
+++ b/package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch
@@ -0,0 +1,151 @@
+Patch borrowed from
+http://code.google.com/p/minimyth/source/browse/trunk/gar-minimyth/script/db/mysql/files/mysql-5.1.47-ac_cache_check.patch?r=6493.
+
+It allows to override through ac_cv_* variables various checks that
+cannot be performed when cross-compiling.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+diff -Naur mysql-5.1.47-old/storage/innodb_plugin/plug.in mysql-5.1.47-new/storage/innodb_plugin/plug.in
+--- mysql-5.1.47-old/storage/innodb_plugin/plug.in	2010-05-20 09:55:10.000000000 -0700
++++ mysql-5.1.47-new/storage/innodb_plugin/plug.in	2010-05-20 09:56:12.000000000 -0700
+@@ -53,9 +53,10 @@
+   esac
+   AC_SUBST(INNODB_DYNAMIC_CFLAGS)
+ 
+-  AC_MSG_CHECKING(whether GCC atomic builtins are available)
++  AC_CACHE_CHECK([whether GCC atomic builtins are available],
++                 [ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS],
+   # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       int main()
+       {
+@@ -95,18 +96,23 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
+-                [GCC atomic builtins are available])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
++              [GCC atomic builtins are available])
++  fi
+ 
+-  AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
++  AC_CACHE_CHECK([whether pthread_t can be used by GCC atomic builtins],
++                 [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC],
+   # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       #include <pthread.h>
+       #include <string.h>
+@@ -126,14 +132,18 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
+-                [pthread_t can be used by GCC atomic builtins])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
++              [pthread_t can be used by GCC atomic builtins])
++  fi
+ 
+   AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
+   # either define HAVE_IB_SOLARIS_ATOMICS or not
+@@ -147,9 +157,10 @@
+ 			    are available])
+   )
+ 
+-  AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
++  AC_CACHE_CHECK([whether pthread_t can be used by Solaris libc atomic functions],
++                 [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS],
+   # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       #include <pthread.h>
+       #include <string.h>
+@@ -180,28 +191,33 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
+-                [pthread_t can be used by solaris atomics])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
++              [pthread_t can be used by solaris atomics])
++  fi
+ 
+   # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
+   # to use in the source
+   AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
+ 
+   # Check for x86 PAUSE instruction
+-  AC_MSG_CHECKING(for x86 PAUSE instruction)
++  AC_CACHE_CHECK([for x86 PAUSE instruction],
++                 [ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION],
+   # We have to actually try running the test program, because of a bug
+   # in Solaris on x86_64, where it wrongly reports that PAUSE is not
+   # supported when trying to run an application. See
+   # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
+   # We use ib_ prefix to avoid collisoins if this code is added to
+   # mysql's configure.in.
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       int main() {
+         __asm__ __volatile__ ("pause");
+@@ -209,16 +225,21 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
++  fi
+   ])
+ 
+ # vim: set ft=config:
diff --git a/package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch b/package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch
new file mode 100644
index 0000000..d7bf628
--- /dev/null
+++ b/package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch
@@ -0,0 +1,35 @@
+Patch borrowed from
+http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/mysql/files/configure-ps-cache-check.patch
+
+It allows to specify through ac_cv_FIND_PROC how ps should be used on
+the target to find the PID of a program.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: mysql-4.1.22/configure.in
+===================================================================
+--- mysql-4.1.22.orig/configure.in	2009-01-28 16:33:28.000000000 +0000
++++ mysql-4.1.22/configure.in	2009-01-28 16:43:26.000000000 +0000
+@@ -471,8 +471,8 @@
+ 
+ # Lock for PS
+ AC_PATH_PROG(PS, ps, ps)
+-AC_MSG_CHECKING("how to check if pid exists")
+-PS=$ac_cv_path_PS
++AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC],
++[
+ # Linux style
+ if $PS p $$ 2> /dev/null | grep $0 > /dev/null
+ then
+@@ -511,8 +511,9 @@
+       AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.])
+   esac
+ fi
+-AC_SUBST(FIND_PROC)
+-AC_MSG_RESULT("$FIND_PROC")
++ac_cv_FIND_PROC="$FIND_PROC"
++])
++AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC])
+ 
+ # Check if a pid is valid
+ AC_PATH_PROG(KILL, kill, kill)
diff --git a/package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch b/package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch
new file mode 100644
index 0000000..34bc035
--- /dev/null
+++ b/package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch
@@ -0,0 +1,17 @@
+Tell MySQL to use the new readline interface even when an external
+readline is being used.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: mysql_client-5.1.47/configure.in
+===================================================================
+--- mysql_client-5.1.47.orig/configure.in	2010-07-15 23:49:35.000000000 +0200
++++ mysql_client-5.1.47/configure.in	2010-07-15 23:50:03.000000000 +0200
+@@ -2700,6 +2700,7 @@
+ 	    # this way we avoid linking commercial source with GPL readline
+ 	    readline_link="-lreadline"
+ 	    want_to_use_readline="yes"
++	    AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1)
+ 	elif [test "$mysql_cv_libedit_interface" = "yes"]
+ 	then
+ 	    # Use libedit
diff --git a/package/mysql_client/mysql_client.mk b/package/mysql_client/mysql_client.mk
index 4403653..377df89 100644
--- a/package/mysql_client/mysql_client.mk
+++ b/package/mysql_client/mysql_client.mk
@@ -3,23 +3,31 @@
 # MySQL 5.1 Client
 #
 #############################################################
-MYSQL_CLIENT_VERSION = 5.1.23-rc
+MYSQL_CLIENT_VERSION = 5.1.47
 MYSQL_CLIENT_SOURCE = mysql-$(MYSQL_CLIENT_VERSION).tar.gz
-MYSQL_CLIENT_SITE = http://mirrors.24-7-solutions.net/pub/mysql/Downloads/MySQL-5.1
+MYSQL_CLIENT_SITE = http://downloads.mysql.com/archives/mysql-5.1/
 MYSQL_CLIENT_INSTALL_TARGET = YES
 MYSQL_CLIENT_INSTALL_STAGING = YES
 MYSQL_CLIENT_DEPENDENCIES = readline ncurses
+MYSQL_CLIENT_AUTORECONF=YES
+
+MYSQL_CLIENT_CONF_ENV = \
+	ac_cv_sys_restartable_syscalls=yes \
+	ac_cv_path_PS=/bin/ps \
+	ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \
+	ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \
+	ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \
+	ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes \
+	mysql_cv_new_rl_interface=yes
 
-MYSQL_CLIENT_CONF_ENV = ac_cv_sys_restartable_syscalls=yes
 MYSQL_CLIENT_CONF_OPT = \
 	--program-prefix="" \
 	--without-ndb-binlog \
 	--without-server \
 	--without-docs \
 	--without-man \
-	--without-readline \
 	--without-libedit \
-	--with-readline=$(STAGING_DIR)/usr \
+	--without-readline \
 	--with-low-memory \
 	--enable-thread-safe-client \
 	$(ENABLE_DEBUG)
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 4/5] Fix Qt build with MySQL
  2010-07-16  9:18 [Buildroot] [pull request] Pull request for branch misc-build-fixes Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2010-07-16  9:18 ` [Buildroot] [PATCH 3/5] Bump MySQL to 5.1.47 and fix build Thomas Petazzoni
@ 2010-07-16  9:18 ` Thomas Petazzoni
  2010-07-16  9:18 ` [Buildroot] [PATCH 5/5] sdl: fix build of other sdl components Thomas Petazzoni
  4 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2010-07-16  9:18 UTC (permalink / raw)
  To: buildroot

Several issues were preventing the Qt MySQL support to build properly:

 * In Config.sql.in, missing selection of the MYSQL_CLIENT package
   when the Qt MySQL driver is enabled

 * In qt.mk :
    - Missing dependency on mysql_client
    - As MySQL installs headers in $(STAGING_DIR)/usr/include/mysql
      and libs in $(STAGING_DIR)/usr/lib/mysql, additional -I and -L
      options need to be passed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt/Config.sql.in |    1 +
 package/qt/qt.mk         |   14 +++++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/package/qt/Config.sql.in b/package/qt/Config.sql.in
index 2ce8d79..0c17c1a 100644
--- a/package/qt/Config.sql.in
+++ b/package/qt/Config.sql.in
@@ -6,6 +6,7 @@ menuconfig BR2_PACKAGE_QT_SQL_MODULE
 if BR2_PACKAGE_QT_SQL_MODULE
 config BR2_PACKAGE_QT_MYSQL
 	bool "MySQL Driver"
+	select BR2_PACKAGE_MYSQL_CLIENT
 	help
 	  Build MySQL driver
 	  If unsure, say n.
diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index b4b6b29..c144901 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -18,6 +18,10 @@ QT_SITE:=http://get.qt.nokia.com/qt/source
 QT_CAT:=$(ZCAT)
 QT_TARGET_DIR:=$(BUILD_DIR)/qt-everywhere-opensource-src-$(QT_VERSION)
 
+QT_TARGET_CFLAGS=$(TARGET_CFLAGS)
+QT_TARGET_CXXFLAGS=$(TARGET_CXXFLAGS)
+QT_TARGET_LDFLAGS=$(TARGET_LDFLAGS)
+
 QT_CONFIGURE:=#empty
 
 ifeq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y)
@@ -273,6 +277,10 @@ QT_CONFIGURE+= -qt-sql-ibase
 endif
 ifeq ($(BR2_PACKAGE_QT_MYSQL),y)
 QT_CONFIGURE+= -qt-sql-mysql
+QT_DEP_LIBS+=mysql_client
+QT_TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include/mysql
+QT_TARGET_CXXFLAGS+=-I$(STAGING_DIR)/usr/include/mysql
+QT_TARGET_LDFLAGS+=-L$(STAGING_DIR)/usr/lib/mysql
 endif
 ifeq ($(BR2_PACKAGE_QT_ODBC),y)
 QT_CONFIGURE+= -qt-sql-odbc
@@ -487,9 +495,9 @@ endif
 	$(call QT_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY))
 	$(call QT_QMAKE_SET,RANLIB,$(TARGET_RANLIB))
 	$(call QT_QMAKE_SET,STRIP,$(TARGET_STRIP))
-	$(call QT_QMAKE_SET,CFLAGS,$(TARGET_CFLAGS))
-	$(call QT_QMAKE_SET,CXXFLAGS,$(TARGET_CXXFLAGS))
-	$(call QT_QMAKE_SET,LFLAGS,$(TARGET_LDFLAGS))
+	$(call QT_QMAKE_SET,CFLAGS,$(QT_TARGET_CFLAGS))
+	$(call QT_QMAKE_SET,CXXFLAGS,$(QT_TARGET_CXXFLAGS))
+	$(call QT_QMAKE_SET,LFLAGS,$(QT_TARGET_LDFLAGS))
 	-[ -f $(QT_QCONFIG_FILE) ] && cp $(QT_QCONFIG_FILE) \
 		$(QT_TARGET_DIR)/$(QT_QCONFIG_FILE_LOCATION)
 # Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 5/5] sdl: fix build of other sdl components
  2010-07-16  9:18 [Buildroot] [pull request] Pull request for branch misc-build-fixes Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2010-07-16  9:18 ` [Buildroot] [PATCH 4/5] Fix Qt build with MySQL Thomas Petazzoni
@ 2010-07-16  9:18 ` Thomas Petazzoni
  2010-07-17  8:52   ` Peter Korsgaard
  4 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2010-07-16  9:18 UTC (permalink / raw)
  To: buildroot

The post installation hook of SDL was not being executed, due to an
incorrect usage of the infrastructure. Moreover, it did not patch
prefix/exec_prefix in sdl-config as is needed. In addition to that, we
remove the -Wl,-rpath option from sdl-config, since it is not needed.

This fixes at least the build of sdl_image, and probably of other sdl
components as well.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/sdl/sdl.mk |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk
index 87c7533..3834137 100644
--- a/package/sdl/sdl.mk
+++ b/package/sdl/sdl.mk
@@ -46,11 +46,19 @@ SDL_CONF_OPT += --enable-pulseaudio=no \
 		--disable-esd \
 		--disable-nasm
 
-define SDL_POST_INSTALL_STAGING_HOOKS
-       $(SED) 's^libdir=\$${exec_prefix}^libdir=/usr^' \
-               $(STAGING_DIR)/usr/bin/sdl-config
+# Fixup prefix= and exec_prefix= in sdl-config, and remove the
+# -Wl,-rpath option.
+define SDL_FIXUP_SDL_CONFIG
+	$(SED) 's%prefix=/usr%prefix=$(STAGING_DIR)/usr%' \
+		$(STAGING_DIR)/usr/bin/sdl-config
+	$(SED) 's%exec_prefix=/usr%exec_prefix=$(STAGING_DIR)/usr%' \
+		$(STAGING_DIR)/usr/bin/sdl-config
+	$(SED) 's%-Wl,-rpath,\$${libdir}%%' \
+		$(STAGING_DIR)/usr/bin/sdl-config
 endef
 
+SDL_POST_INSTALL_STAGING_HOOKS+=SDL_FIXUP_SDL_CONFIG
+
 define SDL_INSTALL_TARGET_CMDS
 	cp -dpf $(STAGING_DIR)/usr/lib/libSDL*.so* $(TARGET_DIR)/usr/lib/
 endef
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 5/5] sdl: fix build of other sdl components
  2010-07-16  9:18 ` [Buildroot] [PATCH 5/5] sdl: fix build of other sdl components Thomas Petazzoni
@ 2010-07-17  8:52   ` Peter Korsgaard
  2010-07-18 20:06     ` Peter Korsgaard
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Korsgaard @ 2010-07-17  8:52 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The post installation hook of SDL was not being executed, due to an
 Thomas> incorrect usage of the infrastructure. Moreover, it did not patch
 Thomas> prefix/exec_prefix in sdl-config as is needed. In addition to that, we
 Thomas> remove the -Wl,-rpath option from sdl-config, since it is not needed.

Hmm, I don't think that's right - It all build fine for me without this
patch (is it for ext toolchain?), and now the libraries have a rpath to
the staging dir:

powerpc-linux-readelf -a libSDL_gfx.so.13.5.1|grep RPATH
 0x0000000f (RPATH)                      Library rpath: [/home/peko/source/buildroot/output/staging/usr/lib]

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 5/5] sdl: fix build of other sdl components
  2010-07-17  8:52   ` Peter Korsgaard
@ 2010-07-18 20:06     ` Peter Korsgaard
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2010-07-18 20:06 UTC (permalink / raw)
  To: buildroot

>>>>> "Peter" == Peter Korsgaard <jacmet@uclibc.org> writes:

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
 Thomas> The post installation hook of SDL was not being executed, due to an
 Thomas> incorrect usage of the infrastructure. Moreover, it did not patch
 Thomas> prefix/exec_prefix in sdl-config as is needed. In addition to that, we
 Thomas> remove the -Wl,-rpath option from sdl-config, since it is not needed.

 Peter> Hmm, I don't think that's right - It all build fine for me without this
 Peter> patch (is it for ext toolchain?), and now the libraries have a rpath to
 Peter> the staging dir:

 Peter> powerpc-linux-readelf -a libSDL_gfx.so.13.5.1|grep RPATH
 Peter>  0x0000000f (RPATH)                      Library rpath: [/home/peko/source/buildroot/output/staging/usr/lib]

Nevermind, we also had the rpath in the past, and it doesn't "really"
harm anything. I just did a testbuild of prboom and ran it in qemu
without problems.

Committed all patches except for the qt one.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-07-18 20:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-16  9:18 [Buildroot] [pull request] Pull request for branch misc-build-fixes Thomas Petazzoni
2010-07-16  9:18 ` [Buildroot] [PATCH 1/5] Bump dhcp to 4.1.1-P1 and convert to autotools Thomas Petazzoni
2010-07-16  9:18 ` [Buildroot] [PATCH 2/5] Update defconfigs after DHCP option rename Thomas Petazzoni
2010-07-16  9:18 ` [Buildroot] [PATCH 3/5] Bump MySQL to 5.1.47 and fix build Thomas Petazzoni
2010-07-16  9:18 ` [Buildroot] [PATCH 4/5] Fix Qt build with MySQL Thomas Petazzoni
2010-07-16  9:18 ` [Buildroot] [PATCH 5/5] sdl: fix build of other sdl components Thomas Petazzoni
2010-07-17  8:52   ` Peter Korsgaard
2010-07-18 20:06     ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox