--- /dev/null
+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;
--- /dev/null
+--- iproute-2.6.20-070313/ip/Makefile 2007/03/17 05:17:30 1.1
++++ iproute-2.6.20-070313/ip/Makefile 2007/03/17 05:17:37
+@@ -16,7 +16,7 @@
+ rtmon: $(RTMONOBJ) $(LIBNETLINK)
+
+ install: all
+- install -m 0755 -s $(TARGETS) $(DESTDIR)$(SBINDIR)
++ install -m 0755 $(TARGETS) $(DESTDIR)$(SBINDIR)
+ install -m 0755 $(SCRIPTS) $(DESTDIR)$(SBINDIR)
+
+ clean:
+--- iproute-2.6.20-070313/misc/Makefile 2007/03/17 05:18:20 1.1
++++ iproute-2.6.20-070313/misc/Makefile 2007/03/17 05:18:26
+@@ -27,7 +27,7 @@
+ lnstat: $(LNSTATOBJ)
+
+ install: all
+- install -m 0755 -s $(TARGETS) $(DESTDIR)$(SBINDIR)
++ install -m 0755 $(TARGETS) $(DESTDIR)$(SBINDIR)
+ ln -sf lnstat $(DESTDIR)$(SBINDIR)/rtstat
+ ln -sf lnstat $(DESTDIR)$(SBINDIR)/ctstat
+
+--- iproute-2.6.20-070313/tc/Makefile 2007/03/17 05:17:42 1.1
++++ iproute-2.6.20-070313/tc/Makefile 2007/03/17 05:17:54
+@@ -70,9 +70,9 @@
+
+ install: all
+ mkdir -p $(DESTDIR)/usr/lib/tc
+- install -m 0755 -s tc $(DESTDIR)$(SBINDIR)
++ install -m 0755 tc $(DESTDIR)$(SBINDIR)
+ for i in $(TCSO); \
+- do install -m 755 -s $$i $(DESTDIR)/usr/lib/tc; \
++ do install -m 755 $$i $(DESTDIR)/usr/lib/tc; \
+ done
+
+ clean:
DESCRIPTION = "kernel routing and traffic control utilities"
+HOMEPAGE = "http://linux-net.osdl.org/index.php/Iproute2"
SECTION = "base"
LICENSE = "GPL"
DEPENDS = "flex-native bison-native"
-# This changed from iproute2 to iproute with version 2.6.20, so set to
-# iproute in the recipe for 2.6.20 and newer versions.
-DIRNAME ?= "${PN}"
-
# Set the DATE in the .bb file
SRC_URI = "http://developer.osdl.org/dev/iproute2/download/${P}-${DATE}.tar.gz"
-S = "${WORKDIR}/${DIRNAME}-${PV}-${DATE}"
+# Set S in the .bb files
inherit update-alternatives