summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2006-10-30 23:02:57 +0000
committerJamie Lenehan <lenehan@twibble.org>2006-10-30 23:02:57 +0000
commit67ed763559af9bcbe3b8cf48ca52cc9f0df8c24b (patch)
tree39a1308901fbda6c35f6acf959cf13f9a817f7ab
parent6ba08e750c65b992fed89a82b82070a37ae92bbc (diff)
iproute2 2.6.16: Add the tc (used for QoS) command back to iproute. It was
being left out due to errors compiling it when using recent versions of flex, such as the one included in OE. The fix is to patch the flex input so that there are no longer any conflicts with variables from the newer version of flex.
-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"