Date: Thursday, August 6, 2015 @ 11:40:23 Author: ronald Revision: 243071
upgpkg: iproute2 4.1.1-1 update to 4.1.1; update fhs patch FS#45713; remove upstream tc patch Modified: iproute2/trunk/PKGBUILD iproute2/trunk/iproute2-fhs.patch Deleted: iproute2/trunk/tc.patch --------------------+ PKGBUILD | 22 +++----- iproute2-fhs.patch | 132 +++++++++++++++++++++++++++------------------------ tc.patch | 58 ---------------------- 3 files changed, 81 insertions(+), 131 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-08-06 08:44:02 UTC (rev 243070) +++ PKGBUILD 2015-08-06 09:40:23 UTC (rev 243071) @@ -3,8 +3,8 @@ # Contributor: Judd Vinet <[email protected]> pkgname=iproute2 -pkgver=4.0.0 -pkgrel=2 +pkgver=4.1.1 +pkgrel=1 pkgdesc="IP Routing Utilities" arch=('i686' 'x86_64') license=('GPL2') @@ -22,13 +22,11 @@ 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 - tc.patch) -sha1sums=('d24385ae619966d1bd71e146322d6035d60aaa1a' + unwanted-link-help.patch) +sha1sums=('750c17e720b43041c23fed7b8cf0118c0e841036' 'SKIP' - '35b8cf2dc94b73eccad427235c07596146cd6f6c' - '3b1335f4025f657f388fbf4e5a740871e3129c2a' - '81124e20802ff06bad616debab827b03a3c75679') + '2dc6d8f1a2495a0d51eaa303dcc78ecc0c477935' + '3b1335f4025f657f388fbf4e5a740871e3129c2a') prepare() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -39,9 +37,6 @@ # allow operations on links called "h", "he", "hel", "help" patch -Np1 -i "${srcdir}/unwanted-link-help.patch" - # upstream patch for FS#45031: tc qdisc show broken - patch -Np1 -i "${srcdir}/tc.patch" - # do not treat warnings as errors sed -i 's/-Werror//' Makefile @@ -63,7 +58,8 @@ install -Dm644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h" install -Dm644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a" - # usrmove + # move binaries cd "${pkgdir}" - mv usr/sbin usr/bin + mv sbin usr/bin + } Modified: iproute2-fhs.patch =================================================================== --- iproute2-fhs.patch 2015-08-06 08:44:02 UTC (rev 243070) +++ iproute2-fhs.patch 2015-08-06 09:40:23 UTC (rev 243071) @@ -1,75 +1,87 @@ -diff -Naur iproute2-3.4.0/Makefile iproute2-3.4.0.new/Makefile ---- iproute2-3.4.0/Makefile 2012-05-21 23:12:19.000000000 +0200 -+++ iproute2-3.4.0.new/Makefile 2012-06-18 10:23:53.896760158 +0200 -@@ -1,7 +1,8 @@ - ROOTDIR=$(DESTDIR) - PREFIX=/usr - LIBDIR=$(PREFIX)/lib --SBINDIR=/sbin -+SBINDIR=/usr/sbin -+SHAREDIR=/usr/share - CONFDIR=/etc/iproute2 - DATADIR=$(PREFIX)/share - DOCDIR=$(DATADIR)/doc/iproute2 -diff -Naur iproute2-3.4.0/netem/Makefile iproute2-3.4.0.new/netem/Makefile ---- iproute2-3.4.0/netem/Makefile 2012-05-21 23:12:19.000000000 +0200 -+++ iproute2-3.4.0.new/netem/Makefile 2012-06-18 10:23:53.896760158 +0200 -@@ -20,9 +20,9 @@ +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 $@ [email protected] -lm install: all - mkdir -p $(DESTDIR)$(LIBDIR)/tc -+ mkdir -p $(DESTDIR)$(SHAREDIR)/tc ++ mkdir -p $(DESTDIR)$(DATADIR)/tc for i in $(DISTDATA); \ - do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \ -+ do install -m 644 $$i $(DESTDIR)$(SHAREDIR)/tc; \ ++ do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \ done clean: -diff -Naur iproute2-3.4.0/tc/Makefile iproute2-3.4.0.new/tc/Makefile ---- iproute2-3.4.0/tc/Makefile 2012-05-21 23:12:19.000000000 +0200 -+++ iproute2-3.4.0.new/tc/Makefile 2012-06-18 10:23:53.893426840 +0200 -@@ -105,18 +105,11 @@ - $(AR) rcs $@ $(TCLIB) +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]; - install: all -- mkdir -p $(MODDESTDIR) -+ mkdir -p $(DESTDIR)$(LIBDIR)/tc - install -m 0755 tc $(DESTDIR)$(SBINDIR) - for i in $(TCSO); \ -- do install -m 755 $$i $(MODDESTDIR); \ -+ do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \ - done -- if [ ! -f $(MODDESTDIR)/m_ipt.so ]; then \ -- if [ -f $(MODDESTDIR)/m_xt.so ]; \ -- then ln -s m_xt.so $(MODDESTDIR)/m_ipt.so ; \ -- elif [ -f $(MODDESTDIR)/m_xt_old.so ]; \ -- then ln -s m_xt_old.so $(MODDESTDIR)/m_ipt.so ; \ -- fi; \ -- fi +- 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 - clean: - rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \ -diff -Naur iproute2-3.4.0/tc/tc_util.c iproute2-3.4.0.new/tc/tc_util.c ---- iproute2-3.4.0/tc/tc_util.c 2012-05-21 23:12:19.000000000 +0200 -+++ iproute2-3.4.0.new/tc/tc_util.c 2012-06-18 10:23:53.893426840 +0200 -@@ -24,8 +24,8 @@ - #include "utils.h" - #include "tc_util.h" ++#ifndef DATADIR ++#define DATADIR "/usr/share" ++#endif ++ + static struct db_names *cls_names = NULL; --#ifndef LIBDIR --#define LIBDIR "/usr/lib" -+#ifndef SHAREDIR -+#define SHAREDIR "/usr/share" - #endif + #define NAMES_DB "/etc/iproute2/tc_cls" +@@ -73,6 +77,17 @@ const char *get_tc_lib(void) + return lib_dir; + } - const char *get_tc_lib(void) -@@ -34,7 +34,7 @@ ++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 { + }; - lib_dir = getenv("TC_LIB_DIR"); - if (!lib_dir) -- lib_dir = LIBDIR "/tc/"; -+ lib_dir = SHAREDIR "/tc/"; + extern const char *get_tc_lib(void); ++extern const char *get_tc_datadir(void); - return lib_dir; - } + extern struct qdisc_util *get_qdisc_kind(const char *str); + extern struct filter_util *get_filter_kind(const char *str); Deleted: tc.patch =================================================================== --- tc.patch 2015-08-06 08:44:02 UTC (rev 243070) +++ tc.patch 2015-08-06 09:40:23 UTC (rev 243071) @@ -1,58 +0,0 @@ -From 46679bbbe89699016d31486de7599590d02a5054 Mon Sep 17 00:00:00 2001 -From: Vadim Kochan <[email protected]> -Date: Mon, 20 Apr 2015 08:33:32 +0300 -Subject: tc util: Fix possible buffer overflow when print class id - -Use correct handle buffer length. - -Signed-off-by: Vadim Kochan <[email protected]> - -diff --git a/tc/tc_util.c b/tc/tc_util.c -index 1d3153d..dc2b70f 100644 ---- a/tc/tc_util.c -+++ b/tc/tc_util.c -@@ -128,30 +128,31 @@ ok: - return 0; - } - --int print_tc_classid(char *buf, int len, __u32 h) -+int print_tc_classid(char *buf, int blen, __u32 h) - { -- char handle[40] = {}; -+ SPRINT_BUF(handle) = {}; -+ int hlen = SPRINT_BSIZE - 1; - - if (h == TC_H_ROOT) - sprintf(handle, "root"); - else if (h == TC_H_UNSPEC) -- snprintf(handle, len, "none"); -+ snprintf(handle, hlen, "none"); - else if (TC_H_MAJ(h) == 0) -- snprintf(handle, len, ":%x", TC_H_MIN(h)); -+ snprintf(handle, hlen, ":%x", TC_H_MIN(h)); - else if (TC_H_MIN(h) == 0) -- snprintf(handle, len, "%x:", TC_H_MAJ(h) >> 16); -+ snprintf(handle, hlen, "%x:", TC_H_MAJ(h) >> 16); - else -- snprintf(handle, len, "%x:%x", TC_H_MAJ(h) >> 16, TC_H_MIN(h)); -+ snprintf(handle, hlen, "%x:%x", TC_H_MAJ(h) >> 16, TC_H_MIN(h)); - - if (use_names) { - char clname[IDNAME_MAX] = {}; - - if (id_to_name(cls_names, h, clname)) -- snprintf(buf, len, "%s#%s", clname, handle); -+ snprintf(buf, blen, "%s#%s", clname, handle); - else -- snprintf(buf, len, "%s", handle); -+ snprintf(buf, blen, "%s", handle); - } else { -- snprintf(buf, len, "%s", handle); -+ snprintf(buf, blen, "%s", handle); - } - - return 0; --- -cgit v0.10.2 - -
