From 39eaadf76d1ea3f7fa86b7060526552ad09843a6 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Tue, 7 Feb 2017 22:08:11 +0000
Subject: iproute2: update to 4.9.0

---
 .../0001-make-iproute2-fhs-compliant.patch         | 101 +++++++++++++++++++++
 abs/core/iproute2/PKGBUILD                         |  87 +++++++++++-------
 abs/core/iproute2/__changelog                      |   1 +
 abs/core/iproute2/iproute2-fhs.patch               |  87 ------------------
 abs/core/iproute2/unwanted-link-help.patch         |  17 ----
 5 files changed, 155 insertions(+), 138 deletions(-)
 create mode 100644 abs/core/iproute2/0001-make-iproute2-fhs-compliant.patch
 create mode 100644 abs/core/iproute2/__changelog
 delete mode 100644 abs/core/iproute2/iproute2-fhs.patch
 delete mode 100644 abs/core/iproute2/unwanted-link-help.patch

diff --git a/abs/core/iproute2/0001-make-iproute2-fhs-compliant.patch b/abs/core/iproute2/0001-make-iproute2-fhs-compliant.patch
new file mode 100644
index 0000000..ef6a077
--- /dev/null
+++ b/abs/core/iproute2/0001-make-iproute2-fhs-compliant.patch
@@ -0,0 +1,101 @@
+From f0624f6cc656cb177b64e2664f2a806221bfab58 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Thu, 28 Jul 2016 08:49:20 +0200
+Subject: [PATCH 1/1] make iproute2 fhs compliant
+
+Signed-off-by: Christian Hesse <mail@eworm.de>
+---
+ Makefile       |  2 +-
+ netem/Makefile |  4 ++--
+ tc/q_netem.c   |  2 +-
+ tc/tc_util.c   | 15 +++++++++++++++
+ tc/tc_util.h   |  1 +
+ 5 files changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index eb571a5..db0a04c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,7 +14,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include
+ 
+ SHARED_LIBS = y
+ 
+-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
++DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DDATADIR=\"$(DATADIR)\"
+ ifneq ($(SHARED_LIBS),y)
+ DEFINES+= -DNO_SHARED_LIBS
+ endif
+diff --git a/netem/Makefile b/netem/Makefile
+index e52e125..5b4d283 100644
+--- a/netem/Makefile
++++ b/netem/Makefile
+@@ -20,9 +20,9 @@ stats: stats.c
+ 	$(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
+ 
+ install: all
+-	mkdir -p $(DESTDIR)$(LIBDIR)/tc
++	mkdir -p $(DESTDIR)$(DATADIR)/tc
+ 	for i in $(DISTDATA); \
+-	do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \
++	do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \
+ 	done
+ 
+ clean:
+diff --git a/tc/q_netem.c b/tc/q_netem.c
+index 8fe2204..a15a5c7 100644
+--- a/tc/q_netem.c
++++ b/tc/q_netem.c
+@@ -113,7 +113,7 @@ static int get_distribution(const char *type, __s16 *data, int maxdata)
+ 	char *line = NULL;
+ 	char name[128];
+ 
+-	snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type);
++	snprintf(name, sizeof(name), "%s/%s.dist", get_tc_datadir(), type);
+ 	if ((f = fopen(name, "r")) == NULL) {
+ 		fprintf(stderr, "No distribution data for %s (%s: %s)\n",
+ 			type, name, strerror(errno));
+diff --git a/tc/tc_util.c b/tc/tc_util.c
+index afc4cf5..728b854 100644
+--- a/tc/tc_util.c
++++ b/tc/tc_util.c
+@@ -32,6 +32,10 @@
+ #define LIBDIR "/usr/lib"
+ #endif
+ 
++#ifndef DATADIR
++#define DATADIR "/usr/share"
++#endif
++
+ static struct db_names *cls_names;
+ 
+ #define NAMES_DB "/etc/iproute2/tc_cls"
+@@ -73,6 +77,17 @@ const char *get_tc_lib(void)
+ 	return lib_dir;
+ }
+ 
++const char *get_tc_datadir(void)
++{
++	const char *data_dir;
++
++	data_dir = getenv("TC_DATA_DIR");
++	if (!data_dir)
++		data_dir = DATADIR "/tc/";
++
++	return data_dir;
++}
++
+ int get_qdisc_handle(__u32 *h, const char *str)
+ {
+ 	__u32 maj;
+diff --git a/tc/tc_util.h b/tc/tc_util.h
+index 61e60b1..6d448de 100644
+--- a/tc/tc_util.h
++++ b/tc/tc_util.h
+@@ -55,6 +55,7 @@ struct exec_util {
+ };
+ 
+ const char *get_tc_lib(void);
++const char *get_tc_datadir(void);
+ 
+ struct qdisc_util *get_qdisc_kind(const char *str);
+ struct filter_util *get_filter_kind(const char *str);
diff --git a/abs/core/iproute2/PKGBUILD b/abs/core/iproute2/PKGBUILD
index 4a6bcc0..566c75b 100644
--- a/abs/core/iproute2/PKGBUILD
+++ b/abs/core/iproute2/PKGBUILD
@@ -1,41 +1,32 @@
 # $Id$
+# Maintainer: Christian Hesse <mail@eworm.de>
 # Maintainer: Ronald van Haren <ronald.archlinux.org>
 # Contributor: Judd Vinet <jvinet@zeroflux.org>
 
-pkgname=iproute2
-pkgver=4.1.1
+pkgbase=iproute2
+#pkgname=(iproute2 iproute2-doc)
+pkgname=(iproute2)
+pkgver=4.9.0
 pkgrel=1
-pkgdesc="IP Routing Utilities"
+pkgdesc='IP Routing Utilities'
 arch=('i686' 'x86_64')
 license=('GPL2')
-url="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
-depends=('glibc' 'iptables')
-makedepends=('linux-atm')
-optdepends=('linux-atm: ATM support')
-groups=('base')
-provides=('iproute')
-conflicts=('iproute')
-replaces=('iproute')
+url='http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2'
+#makedepends=('iptables' 'linux-atm' 'linuxdoc-tools' 'texlive-bin' 'texlive-core' 'texlive-latexextra')
+makedepends=('iptables' 'linux-atm')
 options=('staticlibs' '!makeflags')
-backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
-	'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
 validpgpkeys=('9F6FC345B05BE7E766B83C8F80A77F6095CDE47E') # Stephen Hemminger
-source=("http://www.kernel.org/pub/linux/utils/net/${pkgname}/${pkgname}-${pkgver}.tar."{xz,sign}
-        iproute2-fhs.patch
-        unwanted-link-help.patch)
-sha1sums=('750c17e720b43041c23fed7b8cf0118c0e841036'
-          'SKIP'
-          '2dc6d8f1a2495a0d51eaa303dcc78ecc0c477935'
-          '3b1335f4025f657f388fbf4e5a740871e3129c2a')
+source=("https://www.kernel.org/pub/linux/utils/net/${pkgbase}/${pkgbase}-${pkgver}.tar."{xz,sign}
+        '0001-make-iproute2-fhs-compliant.patch')
+sha256sums=('c0f30f043f7767cc1b2cd2197b08d4e9b2392c95823fabe30bbce308c30116c4'
+            'SKIP'
+            'f60fefe4c17d3b768824bb50ae6416292bcebba06d73452e23f4147b46b827d3')
 
 prepare() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd "${srcdir}/${pkgbase}-${pkgver}"
 
   # set correct fhs structure
-  patch -Np1 -i "${srcdir}/iproute2-fhs.patch"
-
-  # allow operations on links called "h", "he", "hel", "help"
-  patch -Np1 -i "${srcdir}/unwanted-link-help.patch"
+  patch -Np1 -i "${srcdir}/0001-make-iproute2-fhs-compliant.patch"
 
   # do not treat warnings as errors
   sed -i 's/-Werror//' Makefile
@@ -43,23 +34,51 @@ prepare() {
 }
 
 build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd "${srcdir}/${pkgbase}-${pkgver}"
 
   ./configure
   make
+
+#  cd "${srcdir}/${pkgbase}-${pkgver}/doc/"
+
+#  make html pdf
 }
 
-package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+package_iproute2() {
+  depends=('glibc' 'iptables')
+  optdepends=('linux-atm: ATM support')
+  groups=('base')
+  provides=('iproute')
+  conflicts=('iproute')
+  replaces=('iproute')
+  backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
+    'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
 
-  make DESTDIR="${pkgdir}" install
+  cd "${srcdir}/${pkgbase}-${pkgver}"
+
+  make DESTDIR="${pkgdir}" SBINDIR="/usr/bin" install
+
+  # remove documentation
+  rm -rf "${pkgdir}/usr/share/doc/"
 
   # libnetlink isn't installed, install it FS#19385
-  install -Dm644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h"
-  install -Dm644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a"
+  install -Dm0644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h"
+  install -Dm0644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a"
+}
+
+package_iproute2-doc() {
+  pkgdesc='IP Routing Utilities documentation'
+
+  cd "${srcdir}/${pkgbase}-${pkgver}"
 
-  # move binaries
-  cd "${pkgdir}"
-  mv sbin usr/bin
+  make DESTDIR="${pkgdir}" install
+
+  # documentation is included in default install target... So clean up here.
+  find "${pkgdir}/" ! -type d ! -regex '.*examples.*' -delete
+  find "${pkgdir}/" -empty -delete
+  find "${pkgdir}/" -name '*.sgml' -delete
+  find "${pkgdir}/" -name '*.tex' -delete
 
+  install -m0644 doc/*.html doc/*.pdf "${pkgdir}/usr/share/doc/iproute2/"
 }
+
diff --git a/abs/core/iproute2/__changelog b/abs/core/iproute2/__changelog
new file mode 100644
index 0000000..fd3fc81
--- /dev/null
+++ b/abs/core/iproute2/__changelog
@@ -0,0 +1 @@
+PKGBUILD: disable iproute2-doc and tex doc deps
diff --git a/abs/core/iproute2/iproute2-fhs.patch b/abs/core/iproute2/iproute2-fhs.patch
deleted file mode 100644
index f632b64..0000000
--- a/abs/core/iproute2/iproute2-fhs.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 67176be..6549447 100644
---- a/Makefile
-+++ b/Makefile
-@@ -13,7 +13,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include
- 
- SHARED_LIBS = y
- 
--DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
-+DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DDATADIR=\"$(DATADIR)\"
- ifneq ($(SHARED_LIBS),y)
- DEFINES+= -DNO_SHARED_LIBS
- endif
-diff --git a/netem/Makefile b/netem/Makefile
-index e52e125..5b4d283 100644
---- a/netem/Makefile
-+++ b/netem/Makefile
-@@ -20,9 +20,9 @@ stats: stats.c
- 	$(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
- 
- install: all
--	mkdir -p $(DESTDIR)$(LIBDIR)/tc
-+	mkdir -p $(DESTDIR)$(DATADIR)/tc
- 	for i in $(DISTDATA); \
--	do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \
-+	do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \
- 	done
- 
- clean:
-diff --git a/tc/q_netem.c b/tc/q_netem.c
-index cd990a0..7d4e71f 100644
---- a/tc/q_netem.c
-+++ b/tc/q_netem.c
-@@ -113,7 +113,7 @@ static int get_distribution(const char *type, __s16 *data, int maxdata)
- 	char *line = NULL;
- 	char name[128];
- 
--	snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type);
-+	snprintf(name, sizeof(name), "%s/%s.dist", get_tc_datadir(), type);
- 	if ((f = fopen(name, "r")) == NULL) {
- 		fprintf(stderr, "No distribution data for %s (%s: %s)\n",
- 			type, name, strerror(errno));
-diff --git a/tc/tc_util.c b/tc/tc_util.c
-index aa6de24..22bb6d5 100644
---- a/tc/tc_util.c
-+++ b/tc/tc_util.c
-@@ -32,6 +32,10 @@
- #define LIBDIR "/usr/lib"
- #endif
- 
-+#ifndef DATADIR
-+#define DATADIR "/usr/share"
-+#endif
-+
- static struct db_names *cls_names = NULL;
- 
- #define NAMES_DB "/etc/iproute2/tc_cls"
-@@ -73,6 +77,17 @@ const char *get_tc_lib(void)
- 	return lib_dir;
- }
- 
-+const char *get_tc_datadir(void)
-+{
-+	const char *data_dir;
-+
-+	data_dir = getenv("TC_DATA_DIR");
-+	if (!data_dir)
-+		data_dir = DATADIR "/tc/";
-+
-+	return data_dir;
-+}
-+
- int get_qdisc_handle(__u32 *h, const char *str)
- {
- 	__u32 maj;
-diff --git a/tc/tc_util.h b/tc/tc_util.h
-index 61e60b1..6d448de 100644
---- a/tc/tc_util.h
-+++ b/tc/tc_util.h
-@@ -55,6 +55,7 @@ struct exec_util {
- };
- 
- extern const char *get_tc_lib(void);
-+extern const char *get_tc_datadir(void);
- 
- extern struct qdisc_util *get_qdisc_kind(const char *str);
- extern struct filter_util *get_filter_kind(const char *str);
diff --git a/abs/core/iproute2/unwanted-link-help.patch b/abs/core/iproute2/unwanted-link-help.patch
deleted file mode 100644
index 8abe9e3..0000000
--- a/abs/core/iproute2/unwanted-link-help.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -ru iproute2-3.10.0.orig/ip/iplink.c iproute2-3.10.0/ip/iplink.c
---- iproute2-3.10.0.orig/ip/iplink.c	2013-08-08 13:53:33.000000000 -0700
-+++ iproute2-3.10.0/ip/iplink.c	2013-08-08 13:55:03.179865309 -0700
-@@ -467,11 +467,11 @@
- 			addattr_l(&req->n, sizeof(*req), IFLA_NUM_RX_QUEUES,
- 				  &numrxqueues, 4);
- 		} else {
-+			if (matches(*argv, "help") == 0)
-+				usage();
- 			if (strcmp(*argv, "dev") == 0) {
- 				NEXT_ARG();
- 			}
--			if (matches(*argv, "help") == 0)
--				usage();
- 			if (*dev)
- 				duparg2("dev", *argv);
- 			*dev = *argv;
-- 
cgit v0.12

