Hello community, here is the log from the commit of package iproute2 for openSUSE:Factory checked in at 2015-07-20 15:14:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/iproute2 (Old) and /work/SRC/openSUSE:Factory/.iproute2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iproute2" Changes: -------- --- /work/SRC/openSUSE:Factory/iproute2/iproute2-doc.changes 2015-07-05 17:54:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.iproute2.new/iproute2-doc.changes 2015-07-20 15:14:31.000000000 +0200 @@ -1,0 +2,11 @@ +Wed Jul 15 14:25:28 UTC 2015 - dims...@opensuse.org + +- Update to version 4.1.1: +* tipc: make build conditional on having libmnl. +* build: must honor pkg-config flags for libmnl. +* include: add copy of tipc.h. +* Fix MPLS support. +- Drop iproute2-tipc-headers.patch, iproute2-pkgconfig.diff + (fixed upstream) + +------------------------------------------------------------------- iproute2.changes: same change Old: ---- iproute2-4.1.0.tar.sign iproute2-4.1.0.tar.xz iproute2-pkgconfig.diff iproute2-tipc-headers.patch New: ---- iproute2-4.1.1.tar.sign iproute2-4.1.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ iproute2-doc.spec ++++++ --- /var/tmp/diff_new_pack.jJUdFh/_old 2015-07-20 15:14:32.000000000 +0200 +++ /var/tmp/diff_new_pack.jJUdFh/_new 2015-07-20 15:14:32.000000000 +0200 @@ -17,9 +17,9 @@ Name: iproute2-doc -Version: 4.1 +Version: 4.1.1 Release: 0 -%define rversion 4.1.0 +%define rversion 4.1.1 Summary: Documentation to iproute2 License: GPL-2.0+ Group: Documentation/Other @@ -28,8 +28,6 @@ Source: http://kernel.org/pub/linux/utils/net/iproute2/iproute2-%rversion.tar.xz Source2: http://kernel.org/pub/linux/utils/net/iproute2/iproute2-%rversion.tar.sign Patch1: iproute2-3.16.0-fix-bashisms.patch -Patch6: iproute2-pkgconfig.diff -Patch7: iproute2-tipc-headers.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: bison @@ -57,8 +55,6 @@ %prep %setup -qn iproute2-%rversion %patch1 -p1 -%patch6 -p1 -%patch7 -p1 %build # build with -fPIC. For details see @@ -71,19 +67,19 @@ make pdf %install -make install DESTDIR="%{buildroot}" LIBDIR="%_libdir" \ +make install DESTDIR="%buildroot" LIBDIR="%_libdir" \ MODDESTDIR="$b/%_libdir/tc" DOCDIR="%_docdir/iproute2" -mkdir -p "%{buildroot}/%_docdir/iproute2"; -cp -an ip/{ifcfg,routef,routel} doc/*.pdf "%{buildroot}/%_docdir/iproute2/" +mkdir -p "%buildroot/%_docdir/iproute2"; +cp -an ip/{ifcfg,routef,routel} doc/*.pdf "%buildroot/%_docdir/iproute2/" -t=$$ -mkdir $t -mv %{buildroot}/%_docdir $t -rm -rf %{buildroot}/* -mkdir -p %{buildroot}/%_docdir -mv $t/packages/* %{buildroot}/%_docdir -rm -rf $t +t="$$" +mkdir "$t" +mv "%buildroot/%_docdir" "$t/" +rm -rf "%buildroot"/* +mkdir -p "%buildroot/%_docdir" +mv "$t/packages"/* "%buildroot/%_docdir" +rm -rf "$t" %files %defattr(-,root,root) ++++++ iproute2.spec ++++++ --- /var/tmp/diff_new_pack.jJUdFh/_old 2015-07-20 15:14:32.000000000 +0200 +++ /var/tmp/diff_new_pack.jJUdFh/_new 2015-07-20 15:14:32.000000000 +0200 @@ -17,9 +17,9 @@ Name: iproute2 -Version: 4.1 +Version: 4.1.1 Release: 0 -%define rversion 4.1.0 +%define rversion 4.1.1 Summary: Linux network configuration utilities License: GPL-2.0 Group: Productivity/Networking/Routing @@ -37,8 +37,6 @@ Patch3: revert-pdf-creation.diff Patch4: revert-bison-fix.diff Patch5: kernel_xfrm6_raw.patch -Patch6: iproute2-pkgconfig.diff -Patch7: iproute2-tipc-headers.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: bison BuildRequires: db-devel @@ -80,7 +78,7 @@ %if 0%{?sles_version} == 11 %patch -P 4 -p1 %endif -%patch -P 5 -P 6 -P 7 -p1 +%patch -P 5 -p1 find . -name *.orig -delete %build ++++++ iproute2-4.1.0.tar.xz -> iproute2-4.1.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iproute2-4.1.0/include/SNAPSHOT.h new/iproute2-4.1.1/include/SNAPSHOT.h --- old/iproute2-4.1.0/include/SNAPSHOT.h 2015-06-26 21:28:25.000000000 +0200 +++ new/iproute2-4.1.1/include/SNAPSHOT.h 2015-07-06 23:57:34.000000000 +0200 @@ -1 +1 @@ -static const char SNAPSHOT[] = "150626"; +static const char SNAPSHOT[] = "150706"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iproute2-4.1.0/include/linux/tipc.h new/iproute2-4.1.1/include/linux/tipc.h --- old/iproute2-4.1.0/include/linux/tipc.h 1970-01-01 01:00:00.000000000 +0100 +++ new/iproute2-4.1.1/include/linux/tipc.h 2015-07-06 23:57:34.000000000 +0200 @@ -0,0 +1,232 @@ +/* + * include/uapi/linux/tipc.h: Header for TIPC socket interface + * + * Copyright (c) 2003-2006, Ericsson AB + * Copyright (c) 2005, 2010-2011, Wind River Systems + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the names of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * Alternatively, this software may be distributed under the terms of the + * GNU General Public License ("GPL") version 2 as published by the Free + * Software Foundation. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _LINUX_TIPC_H_ +#define _LINUX_TIPC_H_ + +#include <linux/types.h> +#include <linux/sockios.h> + +/* + * TIPC addressing primitives + */ + +struct tipc_portid { + __u32 ref; + __u32 node; +}; + +struct tipc_name { + __u32 type; + __u32 instance; +}; + +struct tipc_name_seq { + __u32 type; + __u32 lower; + __u32 upper; +}; + +static __inline__ __u32 tipc_addr(unsigned int zone, + unsigned int cluster, + unsigned int node) +{ + return (zone << 24) | (cluster << 12) | node; +} + +static __inline__ unsigned int tipc_zone(__u32 addr) +{ + return addr >> 24; +} + +static __inline__ unsigned int tipc_cluster(__u32 addr) +{ + return (addr >> 12) & 0xfff; +} + +static __inline__ unsigned int tipc_node(__u32 addr) +{ + return addr & 0xfff; +} + +/* + * Application-accessible port name types + */ + +#define TIPC_CFG_SRV 0 /* configuration service name type */ +#define TIPC_TOP_SRV 1 /* topology service name type */ +#define TIPC_LINK_STATE 2 /* link state name type */ +#define TIPC_RESERVED_TYPES 64 /* lowest user-publishable name type */ + +/* + * Publication scopes when binding port names and port name sequences + */ + +#define TIPC_ZONE_SCOPE 1 +#define TIPC_CLUSTER_SCOPE 2 +#define TIPC_NODE_SCOPE 3 + +/* + * Limiting values for messages + */ + +#define TIPC_MAX_USER_MSG_SIZE 66000U + +/* + * Message importance levels + */ + +#define TIPC_LOW_IMPORTANCE 0 +#define TIPC_MEDIUM_IMPORTANCE 1 +#define TIPC_HIGH_IMPORTANCE 2 +#define TIPC_CRITICAL_IMPORTANCE 3 + +/* + * Msg rejection/connection shutdown reasons + */ + +#define TIPC_OK 0 +#define TIPC_ERR_NO_NAME 1 +#define TIPC_ERR_NO_PORT 2 +#define TIPC_ERR_NO_NODE 3 +#define TIPC_ERR_OVERLOAD 4 +#define TIPC_CONN_SHUTDOWN 5 + +/* + * TIPC topology subscription service definitions + */ + +#define TIPC_SUB_PORTS 0x01 /* filter for port availability */ +#define TIPC_SUB_SERVICE 0x02 /* filter for service availability */ +#define TIPC_SUB_CANCEL 0x04 /* cancel a subscription */ + +#define TIPC_WAIT_FOREVER (~0) /* timeout for permanent subscription */ + +struct tipc_subscr { + struct tipc_name_seq seq; /* name sequence of interest */ + __u32 timeout; /* subscription duration (in ms) */ + __u32 filter; /* bitmask of filter options */ + char usr_handle[8]; /* available for subscriber use */ +}; + +#define TIPC_PUBLISHED 1 /* publication event */ +#define TIPC_WITHDRAWN 2 /* withdraw event */ +#define TIPC_SUBSCR_TIMEOUT 3 /* subscription timeout event */ + +struct tipc_event { + __u32 event; /* event type */ + __u32 found_lower; /* matching name seq instances */ + __u32 found_upper; /* " " " " */ + struct tipc_portid port; /* associated port */ + struct tipc_subscr s; /* associated subscription */ +}; + +/* + * Socket API + */ + +#ifndef AF_TIPC +#define AF_TIPC 30 +#endif + +#ifndef PF_TIPC +#define PF_TIPC AF_TIPC +#endif + +#ifndef SOL_TIPC +#define SOL_TIPC 271 +#endif + +#define TIPC_ADDR_NAMESEQ 1 +#define TIPC_ADDR_MCAST 1 +#define TIPC_ADDR_NAME 2 +#define TIPC_ADDR_ID 3 + +struct sockaddr_tipc { + unsigned short family; + unsigned char addrtype; + signed char scope; + union { + struct tipc_portid id; + struct tipc_name_seq nameseq; + struct { + struct tipc_name name; + __u32 domain; + } name; + } addr; +}; + +/* + * Ancillary data objects supported by recvmsg() + */ + +#define TIPC_ERRINFO 1 /* error info */ +#define TIPC_RETDATA 2 /* returned data */ +#define TIPC_DESTNAME 3 /* destination name */ + +/* + * TIPC-specific socket option values + */ + +#define TIPC_IMPORTANCE 127 /* Default: TIPC_LOW_IMPORTANCE */ +#define TIPC_SRC_DROPPABLE 128 /* Default: based on socket type */ +#define TIPC_DEST_DROPPABLE 129 /* Default: based on socket type */ +#define TIPC_CONN_TIMEOUT 130 /* Default: 8000 (ms) */ +#define TIPC_NODE_RECVQ_DEPTH 131 /* Default: none (read only) */ +#define TIPC_SOCK_RECVQ_DEPTH 132 /* Default: none (read only) */ + +/* + * Maximum sizes of TIPC bearer-related names (including terminating NULL) + * The string formatting for each name element is: + * media: media + * interface: media:interface name + * link: Z.C.N:interface-Z.C.N:interface + * + */ + +#define TIPC_MAX_MEDIA_NAME 16 +#define TIPC_MAX_IF_NAME 16 +#define TIPC_MAX_BEARER_NAME 32 +#define TIPC_MAX_LINK_NAME 60 + +#define SIOCGETLINKNAME SIOCPROTOPRIVATE + +struct tipc_sioc_ln_req { + __u32 peer; + __u32 bearer_id; + char linkname[TIPC_MAX_LINK_NAME]; +}; +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iproute2-4.1.0/ip/iproute.c new/iproute2-4.1.1/ip/iproute.c --- old/iproute2-4.1.0/ip/iproute.c 2015-06-26 21:28:25.000000000 +0200 +++ new/iproute2-4.1.1/ip/iproute.c 2015-07-06 23:57:34.000000000 +0200 @@ -803,6 +803,7 @@ int scope_ok = 0; int table_ok = 0; int raw = 0; + int type_ok = 0; memset(&req, 0, sizeof(req)); @@ -1095,6 +1096,7 @@ rtnl_rtntype_a2n(&type, *argv) == 0) { NEXT_ARG(); req.r.rtm_type = type; + type_ok = 1; } if (matches(*argv, "help") == 0) @@ -1136,6 +1138,9 @@ if (nhs_ok) parse_nexthops(&req.n, &req.r, argc, argv); + if (req.r.rtm_family == AF_UNSPEC) + req.r.rtm_family = AF_INET; + if (!table_ok) { if (req.r.rtm_type == RTN_LOCAL || req.r.rtm_type == RTN_BROADCAST || @@ -1144,8 +1149,11 @@ req.r.rtm_table = RT_TABLE_LOCAL; } if (!scope_ok) { - if (req.r.rtm_type == RTN_LOCAL || - req.r.rtm_type == RTN_NAT) + if (req.r.rtm_family == AF_INET6 || + req.r.rtm_family == AF_MPLS) + req.r.rtm_scope = RT_SCOPE_UNIVERSE; + else if (req.r.rtm_type == RTN_LOCAL || + req.r.rtm_type == RTN_NAT) req.r.rtm_scope = RT_SCOPE_HOST; else if (req.r.rtm_type == RTN_BROADCAST || req.r.rtm_type == RTN_MULTICAST || @@ -1160,8 +1168,8 @@ } } - if (req.r.rtm_family == AF_UNSPEC) - req.r.rtm_family = AF_INET; + if (!type_ok && req.r.rtm_family == AF_MPLS) + req.r.rtm_type = RTN_UNICAST; if (rtnl_talk(&rth, &req.n, NULL, 0) < 0) return -2; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iproute2-4.1.0/tipc/Makefile new/iproute2-4.1.1/tipc/Makefile --- old/iproute2-4.1.0/tipc/Makefile 2015-06-26 21:28:25.000000000 +0200 +++ new/iproute2-4.1.1/tipc/Makefile 2015-07-06 23:57:34.000000000 +0200 @@ -1,3 +1,6 @@ +include ../Config +ifeq ($(HAVE_MNL),y) + TIPCOBJ=bearer.o \ cmdl.o link.o \ media.o misc.o \ @@ -5,8 +8,13 @@ node.o socket.o \ tipc.o +include ../Config + TARGETS=tipc -LDLIBS += -lmnl +CFLAGS += $(shell $(PKG_CONFIG) libmnl --cflags) +LDLIBS += $(shell $(PKG_CONFIG) libmnl --libs) + +endif all: $(TARGETS) $(LIBS)