iproute2: add new upstream version
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Mon, 22 Jun 2009 07:20:37 +0000 (11:20 +0400)
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Mon, 22 Jun 2009 07:20:37 +0000 (11:20 +0400)
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
recipes/iproute2/iproute2-2.6.29/compilation-fix.patch [new file with mode: 0644]
recipes/iproute2/iproute2-2.6.29/new-flex-fix.patch [new file with mode: 0644]
recipes/iproute2/iproute2_2.6.29.bb [new file with mode: 0644]

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 (file)
index 0000000..2012807
--- /dev/null
@@ -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 (file)
index 0000000..af72721
--- /dev/null
@@ -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 (file)
index 0000000..d02573a
--- /dev/null
@@ -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}"
+