summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes/iproute2/iproute2-2.6.29/compilation-fix.patch12
-rw-r--r--recipes/iproute2/iproute2-2.6.29/new-flex-fix.patch83
-rw-r--r--recipes/iproute2/iproute2_2.6.29.bb11
3 files changed, 106 insertions, 0 deletions
diff --git a/recipes/iproute2/iproute2-2.6.29/compilation-fix.patch b/recipes/iproute2/iproute2-2.6.29/compilation-fix.patch
new file mode 100644
index 0000000000..201280732b
--- /dev/null
+++ b/recipes/iproute2/iproute2-2.6.29/compilation-fix.patch
@@ -0,0 +1,12 @@
+Index: iproute2-2.6.29/ip/link_gre.c
+===================================================================
+--- iproute2-2.6.29.orig/ip/link_gre.c 2009-06-22 11:10:24.212963299 +0400
++++ iproute2-2.6.29/ip/link_gre.c 2009-06-22 11:10:33.940691491 +0400
+@@ -12,6 +12,7 @@
+
+ #include <string.h>
+ #include <net/if.h>
++#include <linux/ip.h>
+ #include <linux/if_tunnel.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
diff --git a/recipes/iproute2/iproute2-2.6.29/new-flex-fix.patch b/recipes/iproute2/iproute2-2.6.29/new-flex-fix.patch
new file mode 100644
index 0000000000..af7272163e
--- /dev/null
+++ b/recipes/iproute2/iproute2-2.6.29/new-flex-fix.patch
@@ -0,0 +1,83 @@
+The tc command was failing to build due to flex errors. These errors are
+caused by an incompatible change to flex in recent versions, including the
+version shipped with OE.
+
+This fix is as per the one used by opensure:
+
+ http://lists.opensuse.org/opensuse-commit/2006-04/msg00090.html
+
+and simple renames str to prevent it conflicting.
+
+--- iproute-2.6.20-070313/tc/emp_ematch.l 2007/03/17 02:52:20 1.1
++++ iproute-2.6.20-070313/tc/emp_ematch.l 2007/03/17 02:54:01
+@@ -63,7 +63,7 @@
+
+ %}
+
+-%x str
++%x STR
+
+ %option 8bit stack warn noyywrap prefix="ematch_"
+ %%
+@@ -78,17 +78,17 @@
+ }
+ strbuf_index = 0;
+
+- BEGIN(str);
++ BEGIN(STR);
+ }
+
+-<str>\" {
++<STR>\" {
+ BEGIN(INITIAL);
+ yylval.b = bstr_new(strbuf, strbuf_index);
+ yylval.b->quoted = 1;
+ return ATTRIBUTE;
+ }
+
+-<str>\\[0-7]{1,3} { /* octal escape sequence */
++<STR>\\[0-7]{1,3} { /* octal escape sequence */
+ int res;
+
+ sscanf(yytext + 1, "%o", &res);
+@@ -100,12 +100,12 @@
+ strbuf_append_char((unsigned char) res);
+ }
+
+-<str>\\[0-9]+ { /* catch wrong octal escape seq. */
++<STR>\\[0-9]+ { /* catch wrong octal escape seq. */
+ fprintf(stderr, "error: invalid octale escape sequence\n");
+ return ERROR;
+ }
+
+-<str>\\x[0-9a-fA-F]{1,2} {
++<STR>\\x[0-9a-fA-F]{1,2} {
+ int res;
+
+ sscanf(yytext + 2, "%x", &res);
+@@ -118,16 +118,16 @@
+ strbuf_append_char((unsigned char) res);
+ }
+
+-<str>\\n strbuf_append_char('\n');
+-<str>\\r strbuf_append_char('\r');
+-<str>\\t strbuf_append_char('\t');
+-<str>\\v strbuf_append_char('\v');
+-<str>\\b strbuf_append_char('\b');
+-<str>\\f strbuf_append_char('\f');
+-<str>\\a strbuf_append_char('\a');
++<STR>\\n strbuf_append_char('\n');
++<STR>\\r strbuf_append_char('\r');
++<STR>\\t strbuf_append_char('\t');
++<STR>\\v strbuf_append_char('\v');
++<STR>\\b strbuf_append_char('\b');
++<STR>\\f strbuf_append_char('\f');
++<STR>\\a strbuf_append_char('\a');
+
+-<str>\\(.|\n) strbuf_append_char(yytext[1]);
+-<str>[^\\\n\"]+ strbuf_append_charp(yytext);
++<STR>\\(.|\n) strbuf_append_char(yytext[1]);
++<STR>[^\\\n\"]+ strbuf_append_charp(yytext);
+
+ [aA][nN][dD] return AND;
+ [oO][rR] return OR;
diff --git a/recipes/iproute2/iproute2_2.6.29.bb b/recipes/iproute2/iproute2_2.6.29.bb
new file mode 100644
index 0000000000..d02573a359
--- /dev/null
+++ b/recipes/iproute2/iproute2_2.6.29.bb
@@ -0,0 +1,11 @@
+require iproute2.inc
+
+PR = "r1"
+
+SRC_URI = "http://developer.osdl.org/dev/iproute2/download/${P}.tar.bz2 \
+ file://new-flex-fix.patch;patch=1 \
+ file://compilation-fix.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/iproute2-${PV}"
+