summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/iproute2/iproute2-2.6.16/new-flex-fix.patch83
-rw-r--r--packages/iproute2/iproute2_2.6.16.bb8
2 files changed, 89 insertions, 2 deletions
diff --git a/packages/iproute2/iproute2-2.6.16/new-flex-fix.patch b/packages/iproute2/iproute2-2.6.16/new-flex-fix.patch
new file mode 100644
index 0000000000..2c04087839
--- /dev/null
+++ b/packages/iproute2/iproute2-2.6.16/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.
+
+--- iproute2-2.6.16-060323/tc/emp_ematch.l 2006/10/30 22:46:29 1.1
++++ iproute2-2.6.16-060323/tc/emp_ematch.l 2006/10/30 22:47:26
+@@ -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/packages/iproute2/iproute2_2.6.16.bb b/packages/iproute2/iproute2_2.6.16.bb
index 26805a779d..d71421d1e4 100644
--- a/packages/iproute2/iproute2_2.6.16.bb
+++ b/packages/iproute2/iproute2_2.6.16.bb
@@ -5,8 +5,9 @@ DEPENDS = "flex-native bison-native"
DATE="060323"
SRC_URI="http://developer.osdl.org/dev/iproute2/download/${P}-${DATE}.tar.gz \
- file://iproute2-2.6.15_no_strip.diff;patch=1;pnum=0"
-PR="r0"
+ file://iproute2-2.6.15_no_strip.diff;patch=1;pnum=0 \
+ file://new-flex-fix.patch;patch=1"
+PR="r1"
S="${WORKDIR}/${P}-${DATE}"
EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_KERNEL_DIR}/include DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip' SBINDIR=/sbin"
@@ -14,3 +15,6 @@ EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_KERNEL_DIR}/include DOCDIR=$
do_install () {
oe_runmake DESTDIR=${D} install
}
+
+FILES_${PN} += "/usr/lib/tc/*"
+FILES_${PN}-dbg += "/usr/lib/tc/.debug"