Add iproute2, for Network Manager
authorRoss Burton <ross@openedhand.com>
Fri, 19 Jan 2007 20:37:37 +0000 (20:37 +0000)
committerRoss Burton <ross@openedhand.com>
Fri, 19 Jan 2007 20:37:37 +0000 (20:37 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1174 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta-extras/packages/iproute2/iproute2-2.6.18/iproute2-2.6.15_no_strip.diff [new file with mode: 0644]
meta-extras/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch [new file with mode: 0644]
meta-extras/packages/iproute2/iproute2.inc [new file with mode: 0644]
meta-extras/packages/iproute2/iproute2_2.6.18.bb [new file with mode: 0644]

diff --git a/meta-extras/packages/iproute2/iproute2-2.6.18/iproute2-2.6.15_no_strip.diff b/meta-extras/packages/iproute2/iproute2-2.6.18/iproute2-2.6.15_no_strip.diff
new file mode 100644 (file)
index 0000000..4965069
--- /dev/null
@@ -0,0 +1,25 @@
+--- ip/Makefile        2006/02/23 21:22:18     1.1
++++ ip/Makefile        2006/02/23 21:22:27
+@@ -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:
+--- tc/Makefile        2006/02/23 21:23:52     1.1
++++ tc/Makefile        2006/02/23 21:23:57
+@@ -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:
diff --git a/meta-extras/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch b/meta-extras/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch
new file mode 100644 (file)
index 0000000..2c04087
--- /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.
+
+--- 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/meta-extras/packages/iproute2/iproute2.inc b/meta-extras/packages/iproute2/iproute2.inc
new file mode 100644 (file)
index 0000000..006b27b
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "kernel routing and traffic control utilities"
+SECTION = "base"
+LICENSE = "GPL"
+DEPENDS = "flex-native bison-native"
+
+# Set DATE in the .bb file
+SRC_URI = "http://developer.osdl.org/dev/iproute2/download/${P}-${DATE}.tar.gz"
+
+S = "${WORKDIR}/${P}-${DATE}"
+
+EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_KERNEL_DIR}/include DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip' SBINDIR=/sbin"
+
+do_install () {
+        oe_runmake DESTDIR=${D} install
+}
+
+FILES_${PN} += "/usr/lib/tc/*"
+FILES_${PN}-dbg += "/usr/lib/tc/.debug"
diff --git a/meta-extras/packages/iproute2/iproute2_2.6.18.bb b/meta-extras/packages/iproute2/iproute2_2.6.18.bb
new file mode 100644 (file)
index 0000000..ee3ff29
--- /dev/null
@@ -0,0 +1,8 @@
+PR = "r0"
+
+SRC_URI += "file://iproute2-2.6.15_no_strip.diff;patch=1;pnum=0 \
+            file://new-flex-fix.patch;patch=1"
+
+require iproute2.inc
+
+DATE = "061002"