[oe-commits] org.oe.dev iproute2 2.6.16: Add the tc (used for QoS) command back to iproute. It was

lenehan commit openembedded-commits at lists.openembedded.org
Mon Oct 30 23:05:07 UTC 2006


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.

Author: lenehan at openembedded.org
Branch: org.openembedded.dev
Revision: 0ae515852fd8b3deee980fa70ad130d077bd79a0
ViewMTN: http://monotone.openembedded.org/revision.psp?id=0ae515852fd8b3deee980fa70ad130d077bd79a0
Files:
1
packages/iproute2/iproute2-2.6.16/new-flex-fix.patch
packages/iproute2/iproute2_2.6.16.bb
Diffs:

#
# mt diff -r05128f55c3b3a0229fb01807bc55b6456b4311c0 -r0ae515852fd8b3deee980fa70ad130d077bd79a0
#
# 
# 
# add_file "packages/iproute2/iproute2-2.6.16/new-flex-fix.patch"
#  content [b6331d83563ca2f60e83730f18d5b4d60b73b8f8]
# 
# patch "packages/iproute2/iproute2_2.6.16.bb"
#  from [4085870ef8b9a18fc59733ba72c4680b42788eda]
#    to [087dbd561b52f6296006ad54db79694a1ec44872]
# 
============================================================
--- packages/iproute2/iproute2-2.6.16/new-flex-fix.patch	b6331d83563ca2f60e83730f18d5b4d60b73b8f8
+++ packages/iproute2/iproute2-2.6.16/new-flex-fix.patch	b6331d83563ca2f60e83730f18d5b4d60b73b8f8
@@ -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;
============================================================
--- packages/iproute2/iproute2_2.6.16.bb	4085870ef8b9a18fc59733ba72c4680b42788eda
+++ packages/iproute2/iproute2_2.6.16.bb	087dbd561b52f6296006ad54db79694a1ec44872
@@ -5,8 +5,9 @@ SRC_URI="http://developer.osdl.org/dev/i
 
 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 @@ do_install () {
 do_install () {
 	oe_runmake DESTDIR=${D} install
 }
+
+FILES_${PN} += "/usr/lib/tc/*"
+FILES_${PN}-dbg += "/usr/lib/tc/.debug"






More information about the Openembedded-commits mailing list