Sync from SUSE:SLFO:Main iproute2 revision 1a1f7d6c052a04d47e9959a913366a93

This commit is contained in:
Adrian Schröter 2024-05-03 13:47:23 +02:00
commit 705721e9ab
11 changed files with 2416 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,24 @@
From: Michal Kubecek <mkubecek@suse.cz>
Date: Fri, 15 Jan 2016 07:31:30 +0100
Subject: add explicit typecast to avoid gcc warning
Patch-mainline: No
---
lib/utils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: iproute2-6.3.0/lib/utils.c
===================================================================
--- iproute2-6.3.0.orig/lib/utils.c
+++ iproute2-6.3.0/lib/utils.c
@@ -881,8 +881,8 @@ bool matches(const char *prefix, const c
int inet_addr_match(const inet_prefix *a, const inet_prefix *b, int bits)
{
- const __u32 *a1 = a->data;
- const __u32 *a2 = b->data;
+ const __u32 *a1 = (__u32*)a->data;
+ const __u32 *a2 = (__u32*)b->data;
int words = bits >> 0x05;
bits &= 0x1f;

View File

@ -0,0 +1,74 @@
From: Michal Kubecek <mkubecek@suse.cz>
Date: Fri, 15 Jan 2016 07:29:44 +0100
Subject: adjust installation directories for openSUSE/SLE
Patch-mainline: Never, SUSE specific
Match the directory layout of openSUSE and SLE.
---
Makefile | 4 ++--
netem/Makefile | 5 +++--
tc/q_netem.c | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
Index: iproute2-6.3.0/Makefile
===================================================================
--- iproute2-6.3.0.orig/Makefile
+++ iproute2-6.3.0/Makefile
@@ -15,9 +15,9 @@ MAKEFLAGS += --no-print-directory
endif
PREFIX?=/usr
-SBINDIR?=/sbin
+SBINDIR?=/usr/sbin
CONFDIR?=/etc/iproute2
-NETNS_RUN_DIR?=/var/run/netns
+NETNS_RUN_DIR?=/run/netns
NETNS_ETC_DIR?=/etc/netns
DATADIR?=$(PREFIX)/share
HDRDIR?=$(PREFIX)/include/iproute2
@@ -32,7 +32,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include
SHARED_LIBS = y
-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
+DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DPKGDATADIR=\"$(DATADIR)/tc\"
ifneq ($(SHARED_LIBS),y)
DEFINES+= -DNO_SHARED_LIBS
endif
Index: iproute2-6.3.0/netem/Makefile
===================================================================
--- iproute2-6.3.0.orig/netem/Makefile
+++ iproute2-6.3.0/netem/Makefile
@@ -7,6 +7,7 @@ DISTDATA = normal.dist pareto.dist paret
HOSTCC ?= $(CC)
CCOPTS = $(CBUILD_CFLAGS)
LDLIBS += -lm
+LIBDIR = /usr/lib
all: $(DISTGEN) $(DISTDATA)
@@ -23,9 +24,9 @@ stats: stats.c
$(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
install: all
- mkdir -p $(DESTDIR)$(LIBDIR)/tc
+ mkdir -p $(DESTDIR)/usr/share/tc
for i in $(DISTDATA); \
- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \
+ do install -m 644 $$i $(DESTDIR)/usr/share/tc; \
done
clean:
Index: iproute2-6.3.0/tc/q_netem.c
===================================================================
--- iproute2-6.3.0.orig/tc/q_netem.c
+++ iproute2-6.3.0/tc/q_netem.c
@@ -130,7 +130,7 @@ static int get_distribution(const char *
char *line = NULL;
char name[128];
- snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type);
+ snprintf(name, sizeof(name), "%s/%s.dist", PKGDATADIR, type);
f = fopen(name, "r");
if (f == NULL) {
fprintf(stderr, "No distribution data for %s (%s: %s)\n",

BIN
iproute2-6.3.0.tar.sign Normal file

Binary file not shown.

BIN
iproute2-6.3.0.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

1932
iproute2.changes Normal file

File diff suppressed because it is too large Load Diff

97
iproute2.keyring Normal file
View File

@ -0,0 +1,97 @@
pub 4096R/95CDE47E 2011-10-03
uid Stephen Hemminger <stephen@networkplumber.org>
uid Stephen Hemminger <shemminger@vyatta.com>
uid Stephen Hemminger <stephen.hemminger@gmail.com>
uid Stephen Hemminger <stephen.hemminger@vyatta.com>
sub 4096R/C0728CDC 2011-10-03
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)
mQINBE6J28kBEADN+t/gag06JAMej0hhx0Ci9pUUs7FWp7dHXvj9HVsA1OsaDURB
Jc4er//8NOXuUT4gObLmGkCE0ZhTD9rhimi1lNGpqrsB6iqJDuKBaNgJKSugysh7
7RZhW/urOQv8j8e2VoOe2VB+mSGw6Kb+sFAcoQx+suVy/VaqELjxtqh8KSPrJGdK
fHQTfdEVOWsM17c6POGUKDOXxSJr/J7X5tUUa/O+SDDvS2rKXmcLFvo4ug90TNTX
t+LbyOzDNW9r/9IVR+XnJapDTQO+J5K3jIqF6lL42j34AoB6l5VAem5SbdXqskph
IvrGmaC295mDmtjW1UWLEe6poJMjujdoLv01ro+T6Yq9C5cJYLc51wQm5m8CFXD7
o+R8d+NNmf61blYP+IR7JxK8YHtrtInDQ9NkDKycI6iA2VFjMvFEaqNVy4NiBuQv
g70Dk4dTBBb2JQkqzNvDfeW3KoolWRif4kfMb/L+AHE/E5pj2kptWrZdoekD7HGF
5SanzFjMRt15xdSlmHeqqAepMUMO7JDg7BvdAl1ZPoUKeRvnm/PbWK9RM06IsVMf
DWhKQz2NqaSiAY/kVKKx+aTIW1kHSFyqTl3Y4lbVQT4sI6DMqG8ZaXBfFQCR7hzA
6J1UJavbPjbg1IxasJNarCzJT0OgxSVxbFcS6zJ5y236eUds+lHR+z23CQARAQAB
tClTdGVwaGVuIEhlbW1pbmdlciA8c2hlbW1pbmdlckB2eWF0dGEuY29tPokCNwQT
AQIAIQIbAwIeAQIXgAULCQgHAwUVCgkICwUWAgMBAAUCTpNeowAKCRCAp39glc3k
fsalEACHf61eo0tH0FgI6kstIw2otNAQEqnvJjruAv1wBT62s6fuiaZjHHjOZFQS
cEBNb5GdTHRy117enF6vBkirQAuUtvIUi0cWcwjbSLaHl4fCapj+C55bhSghGjhq
atXZxOCyaz+pYYtwvMFUJMPQn6BuIfs/Vp7UD5s3hE5WBT2p8rNOGfyuOVgQxzkc
6LaRmCHrSH6sgkokD8DSjNISxX1+TPaVg+Tv6KYvrlqd/+P596MAF7z5ZS+PW0VI
bbt1nGE4yNI+Vv6Abbd29YXG9juhswljOg3zQn2l1Mp2dEDCl3eWOgdJK8XfDgc+
OPylHmQahuNYBY7miFlLepu3AtmHtexzVnvlzgBzTv6nS0F5lPAqlfZUiMNQ5ev2
XawQvWOa3Hgwd1fZwovaeiS4NvsFpakvjKiDMjWbRcuLBd5ERWNKcQMwxVle7g2+
/8QDeps2QwUK3qnz1lmsCrMrO0FRdcU3uTh5IC9MpUCGumk30U/AlA1qxiQan5Rc
pB9jhiUYzxdGy0/5cazqJFQidxOf6YJWMM6p/b/p/AC2aOQfXXsQ6trT7IUIeBp0
+Jo/mz5K5xC3yYjVz9PUi0HrB7oxpsrHBI+yOZ95/kwWNkxq+9GbX7slWbd0zyh2
uqom6ds35sK4AubUA8scmBNtu/Q8aJ3l8erfve4Mq1vs/2czJ7QuU3RlcGhlbiBI
ZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPokCNwQTAQgAIQUC
UPRebAIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRCAp39glc3kfjqxEACP
bEYKHRQw9Mdhnj2dQE35u82rRFtCG4u/KBvl6klbmBzrxa1QijLY1E5+3HXVCvsd
cGv5WtQnQqSdFC5EawtvAqmTKXwo6U0CP1pBBhaktRHcA/tfp98XU7ZQ3mNGctrX
NcWtB+ynDNs/rwMOBHOp2VHrOqsvAHCEN1j4y6Iq51rJMrCSFObB0OilajeTP6Tq
l7eajmA7oyGqxgg9mFutYc+1VVUAK7pn8MY62/guS0hbHodGsRIzYmFVR+9Bu6jy
2oE5GaYD/EfNrCPl2498e0JkTuTui4+OEpJ02R1WkSAnjCXVgjaC79greD4IcbKs
xlTU/1xpTbNEnBxV6hgVUIrAWJzCzn4B0wy6GhBmlBgxrRfZxqUBX/7Ug6tW1MpZ
hwS6em8JpQe0iIUzxQNr9CeacGT3sCvIorGtTslUL6ypEEOmjzoe+EZhpnx9Gzpj
BvPmq9fTtRA2cTG2LDcqLlhSL6VqF8MeNnfOsSTwzfpccrNRMTCIUbEhZgTVb5um
FJrY8hPS8N63RHCDoII1CyM7lxUOPQ7Hdbkiv8DpqEyuGFhtqLXsjMj/sOnu+t9H
Jgg7wFnyPmHG6sqbTSvTUBq1tL6AMoo990QvKA7NKZ6022XFjR2LmkJXRSgOLNEp
uPWID5w0h62CLIgu1CzE3mdsLCwBaVwEUjLJx64jgrQvU3RlcGhlbiBIZW1taW5n
ZXIgPHN0ZXBoZW4uaGVtbWluZ2VyQGdtYWlsLmNvbT6JAjcEEwEIACECGwMFCwkI
BwMFFQoJCAsFFgIDAQACHgECF4AFAk6TXpUACgkQgKd/YJXN5H7RkA/9FtU1acGl
lrG+V1KQmExxMy1o6/nsDonQFWCRhN6Y/pYQL9kxf337U4zst4IG5jyjvc7Z0oz/
VhVFkGsMIUboighMsFxLtmvZkfDl2Rh5UhV8v0vFk7OmdNPRMbhlp7hUhlq/0LFN
mP61mLGHyLQN7KChz5n7yMipFsc7TdTStB5QxMJYkLhXuKNJdpXEld+AhcLNTpMl
ZgJ7oZt/yz0aqJ8vx8NYsYHyNxmHF+uSkfeA5Vr/T5/BsWOA85eWP+0o5/mvL8Jl
3/fvYa/pqpj9RzbLiB3BILat35WzBAcGzgM83CfmikfLroXE/QpP9pMJgVjvqIwL
KuHKLIrE1r06LykYYzr+3BcYOCrHeoGSmX9FrpB5trBP2xirmsjyGgkPgvAVFGOu
CdJN3yxsxQnjbPV0LNmcfxpxxQb7oFbdT504vFbG5NUQ9/6Uj4+49Je+1lxa89KK
cb4+Q/DEpl+qShJMmqn5ShsUMj7tpJzsvjn0Caf7uEV/ltBnFffCBb/iwsqPgUCm
cJ2yXfOCAwSA2v8tpf9RWR6csvzYMF0cBEqJW3Tq/43NJncCIOM2VWtOE9ROjLnr
a3LkZ0I0HjpeR0xRJcHomK6a3fqhEXitzQG32YDdxcrfmG6h1ecQFH7o+Gdzc74O
CAukpHBFDnX5mJXxhPMnWCAqxJK3cxcFFtS0MFN0ZXBoZW4gSGVtbWluZ2VyIDxz
dGVwaGVuLmhlbW1pbmdlckB2eWF0dGEuY29tPokCNwQTAQgAIQIbAwULCQgHAwUV
CgkICwUWAgMBAAIeAQIXgAUCTpNeowAKCRCAp39glc3kfl+ND/9mjteU+b9GMh8+
gmsX4V+8H4BXp7EVQJhGNwrO7lDcTWppG4fB015cLResQMFvSAedn4OID7jWE9iT
hYkfMnRGb0+nopAVpratvii6ecOuWTmJSkV87tJnY8NcCtEEe3Quy62t/dq+tTUs
q5XalzEtwdj0chrYgj35uV5lqFqGJjcP21nMJcVSFeaqA/qMvNkKRwsgeu7SX8tH
L/tKoXdRzIJkriD5as7LNjB1bJNDbY8ZHUWZQiCXM5i7n9Qgty6/gHU39/YD/rqw
ba7jYNWRoPSeBeSSw8/8bV5P8C+eZuNpYEh1TygiS/g8jk+f/TqmfFSoPyui5SGY
myWTX19i1rBOUxaC6oBKJt09W1YUcbflYo7VXUe12Az5bpVZ1AJjkJemxAJEVJwo
BhGP++L6LROfswSggGvPwqf8LK/6ldlLYATuy1ZXayr4TxHyTH2s2k/zCQ2CoK2/
1EikM7lvlwblztRqL0Tz68OhZPCbzURMyGQ9t4usyX8hMSp9ZjZ3MzvirDs9Nd07
ogG3vGD6SCC9Itj3jbQsxEtZ7YAabgev01uaR7PikNtiVaLHJiz6yocTGGKMlopt
YadaiF1Fv3YdhpvS3Nufa1UWQi+jCGGyMq1IFduLgDySxxJWGBt+ibAiI5ffCDaH
fvBoNnyBf95gHsW3KgxQYrWTIhMHkrkCDQROieRjARAA20b8cXVPAmshPTq1f8wU
cwONYlD4h35FMDsd1gUa7I2y46CMxhcX6/eygJ/AebrEBCBY+GWM4Tc6gEZtA7SW
1upGjDOQs8VagoGb3TlbN7rNEcxsYjnks4GcVBPNpx/udEkSI9SybEfG4O7qpWXs
VPeF8/SC4pe847nHy16DpFk4vq7iDJ7Pts0t1+gBbILHBO8ywr+XZT4Gt4b6JiQa
YCPtqmRW/m9vamgRGXJIy/BKdurpS4eVHwj2skTXW3zHBgkU05PBiLLhSDPZfWru
6VXXeGMowSt+aIzh5V3sKAf5OYw2NTabrCfwIlg8Pcu+7P1Ldah450vwOJkun6hA
sshuNDjNZBtA5RVnC8o6n0deJVM9w8JgO/9UDJ4kGqM2/1/qFPHQbxrBGl+aOu1s
EdnLS5uU1MCzpx50BPN57XQJ5TfdE9sifCnyXpVJmCV5kV3GiSw+XeCm6xXS45QE
e3vOqZOEVwud2HeI3r4vmIzPt4wGspBCGn8R+ZoQNrWfoSb0IkmR/73xOlks968L
fY0RwiNfvMAs25iEnnAu5t6252ZzFJRPsb+2DbizpTZgqKc1CarCIZ/N1vw6q8q1
1he6s3Ms5BaPQHUCasXSndjHe66kTi+Iv5SI/jf3Zkr6VoHfmzoAJG5cDAQT1ryT
8Hig4s+Du4hMzdrECMGKpuMAEQEAAYkCHwQYAQIACQUCTonkYwIbDAAKCRCAp39g
lc3kfmekD/9367pLBkQoi8x1ZiofZgyI1ZO07zP+Wh0rCjfX75nWQ2pWKaFMYPgn
7H8nqnrNZUNNkG3jrkQQ+6QBhTWZZkVGRP840hhatR7Y9kvzhqK22FwUi0Paejjr
KnJTgddk6LXKHp8NU2pqXeOpfEP91YbHfd36CW+qKeUh4SfBbMxz6BjS9LT+Ucta
T+D32Ofo3XNWfpxeL9/QXP5+B+pBKubZLHva6ZuZtH5GP8uO4B953GBGyyuEFRdG
a7Oo6bOz8dLHRCwg5trjRxXHPT+q5XAmBhR7SGnn9H8x0bsEuWVKYNbQ2w/7bJSB
JlgzZnN85wI9+OTPUpDsXiY/xqjgcSGH9TX52FqPwysGVwK//s6bkVDtO52cnnge
a1Ee2NJdfcjJugIW0ZaYW+syduBUDkwmtHI39T6RyaK7ANftzrh5BsElj9mZqqBt
pm+uwiMm2iM+Ai4B6lBz3Sw2A8g4nbMWKfwOSh9mHzNzpQ/FrcuQbLF+mhGCzpAW
MircLaAEdL+MszxyOH3ccoTeGKuwIbwIGHb/8a/ehXABTB2eQMvX1Ajlg7Hz3+Ob
BxXJHIVRWqKKp7li/4YiznP0tOxTmK9XWpW58yGBS/Vv/iTV6QpmX7oSGF1Ahx8e
nTp94plRAI0g0Up3RD/jun+a+/zUwsskxLFj90F9KQHOJzh3RE5TuQ==
=3akb
-----END PGP PUBLIC KEY BLOCK-----

188
iproute2.spec Normal file
View File

@ -0,0 +1,188 @@
#
# spec file for package iproute2
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _buildshell /bin/bash
Name: iproute2
Version: 6.3
Release: 0
Summary: Linux network configuration utilities
License: GPL-2.0-only
Group: Productivity/Networking/Routing
URL: https://wiki.linuxfoundation.org/networking/iproute2
# Using GPL-2.0 instead of GPL-2.0+ because of tc_skbedit.h and tc/q_multiq.c
#DL-URL: https://kernel.org/pub/linux/utils/net/iproute2/
#Git-Clone: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/
#Git-Mirror: https://github.com/shemminger/iproute2 ## not regularly updated
Source: https://kernel.org/pub/linux/utils/net/iproute2/%name-%version.0.tar.xz
Source2: https://kernel.org/pub/linux/utils/net/iproute2/%name-%version.0.tar.sign
Source3: %name.tmpfiles
Source9: %name.keyring
Patch1: adjust-installation-directories-for-openSUSE-SLE.patch
Patch2: use-sysconf-_SC_CLK_TCK-if-HZ-undefined.patch
Patch3: add-explicit-typecast-to-avoid-gcc-warning.patch
Patch6: split-link-and-compile-steps-for-binaries.patch
BuildRequires: bison
BuildRequires: db-devel
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: libbpf-devel
BuildRequires: libelf-devel
BuildRequires: pkgconfig >= 0.21
BuildRequires: xz
BuildRequires: pkgconfig(libmnl)
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(xtables) >= 1.4.11
Provides: %name-doc = %version
Provides: iproute = %version-%release
Provides: %name(xfrm6_raw) = %version-%release
Obsoletes: %name-doc < 4.15.0
%description
iproute2 is a collection of user-space utilities to set up networking
under Linux from the command-line. It can inspect and configure,
among other things: interface paramters, IP addresses, routing,
tunnels, bridges, packet transformations (IPsec, etc.), and Quality
of Service.
%package -n libnetlink-devel
Summary: A Higher Level Interface to the Netlink Service
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
Provides: libnetlink = %version-%release
%description -n libnetlink-devel
libnetlink provides a higher-level interface to rtnetlink(7).
New programs should use libmnl-devel instead.
%package bash-completion
Summary: Bash completion for iproute
License: GPL-2.0-or-later
Group: System/Shells
Requires: %{name}
Requires: bash-completion
Supplements: (%{name} and bash-completion)
%description bash-completion
bash command line completion support for iproute.
%package arpd
Summary: Userspace ARP daemon
License: GPL-2.0-only
Group: Productivity/Networking/Routing
Provides: iproute2:/usr/sbin/arpd
%description arpd
The arpd daemon collects gratuitous ARP information, saving it on
local disk and feeding it to the kernel on demand to avoid redundant
broadcasting due to limited standard size (512..1024 entries,
depending on type) of the kernel ARP cache.
%prep
%autosetup -p1 -n %name-%version.0
find . -name *.orig -delete
%build
%global _lto_cflags %_lto_cflags -ffat-lto-objects
# build with -fPIC. For details see
# https://bugzilla.novell.com/show_bug.cgi?id=388021
xt_libdir="$(pkg-config xtables --variable=xtlibdir)"
xt_cflags="$(pkg-config xtables --cflags)"
%if 0%{!?make_build:1}
%define make_build make %{?_smp_mflags}
%endif
%make_build CCOPTS="-D_GNU_SOURCE %optflags -Wstrict-prototypes -Wno-error -fPIC -DXT_LIB_DIR=\\\"$xt_libdir\\\" $xt_cflags"
%install
b="%buildroot"
mkdir -p "$b/usr/bin" "$b/usr/sbin" "$b/sbin"
%make_install MODDESTDIR="$b/%_libdir/tc"
# We have m_xt instead
rm -f "$b/%_libdir/tc/m_ipt.so"
install -pm0644 "lib/libnetlink.a" "$b/%_libdir/"
chmod -x "$b/%_libdir/libnetlink.a"
install -pm0644 "include/libnetlink.h" "$b/%_includedir/"
chmod -x "$b/%_includedir/libnetlink.h"
install -Dm0644 "%SOURCE3" "$b/%_tmpfilesdir/%name.conf"
%if 0%{?suse_version} >= 1550
ln -sf "%_sbindir/ip" "$b/%_bindir/ip"
%else
ln -s "%_sbindir/ip" "$b/sbin/"
mkdir -p "$b/bin"
ln -sf "%_sbindir/ip" "$b/bin/ip"
%endif
for BIN in lnstat nstat routel ss; do
ln -sf "%_sbindir/$BIN" "$b/%_bindir/$BIN"
done
mkdir -p "$b/%_docdir/%name"
cp -an README* examples/bpf "$b/%_docdir/%name/"
# bugzilla.opensuse.org/1205632
# You can't parse routel output anyway so it does not matter what we output
rm -v "$b/%_mandir/man8/routel.8"
cat >"$b/%_sbindir/routel" <<-EOF
#!/bin/sh
exec ip r l table all
EOF
%fdupes %buildroot/%_prefix
%post
%tmpfiles_create %_tmpfilesdir/%name.conf
%files
%_bindir/lnstat
%_bindir/nstat
%_bindir/routel
%_bindir/ss
%_sbindir/*
%_tmpfilesdir/%name.conf
%ghost %dir %_rundir/netns
%exclude %_sbindir/arpd
%if 0%{?suse_version} >= 1550
%_bindir/ip
%else
/sbin/*
/bin/ip
%endif
%_mandir/man7/*
%_mandir/man8/*
%exclude %_mandir/man8/arpd.8*
%dir %_sysconfdir/iproute2
%config(noreplace) %_sysconfdir/iproute2/*
%_libdir/tc/
%_datadir/tc/
%_docdir/%name/
%license COPYING
%files -n libnetlink-devel
%_includedir/*
%_mandir/man3/libnetlink*
%_libdir/lib*
%files bash-completion
%_datadir/bash-completion/
%files arpd
%_sbindir/arpd
%_mandir/man8/arpd.8*
%changelog

2
iproute2.tmpfiles Normal file
View File

@ -0,0 +1,2 @@
#Type Path Mode User Group Age Argument
d /run/netns 0755 root root - -

View File

@ -0,0 +1,49 @@
From: Marcus Meissner <meissner@suse.com>
Date: Sat, 10 Jun 2017 14:29:22 +0000
Subject: split link and compile steps for binaries
Patch-mainline: Submitted - 20170804
Do not compile and link in one step so that CFLAGS and LDFLAGS are only
applied to the phase they are intended for. This is needed for PIE default
to work.
---
misc/Makefile | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
Index: iproute2-6.3.0/misc/Makefile
===================================================================
--- iproute2-6.3.0.orig/misc/Makefile
+++ iproute2-6.3.0/misc/Makefile
@@ -9,23 +9,24 @@ include ../config.mk
ifeq ($(HAVE_BERKELEY_DB),y)
TARGETS += arpd
endif
+CFLAGS += -I$(DBM_INCLUDE)
all: $(TARGETS)
ss: $(SSOBJ)
$(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@
-nstat: nstat.c
- $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o nstat nstat.c $(LDLIBS) -lm
+nstat: nstat.o
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o nstat nstat.o $(LDLIBS) -lm
-ifstat: ifstat.c
- $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o ifstat ifstat.c $(LDLIBS) -lm
+ifstat: ifstat.o
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o ifstat ifstat.o $(LDLIBS) -lm
-rtacct: rtacct.c
- $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o rtacct rtacct.c $(LDLIBS) -lm
+rtacct: rtacct.o
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o rtacct rtacct.o $(LDLIBS) -lm
-arpd: arpd.c
- $(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(CPPFLAGS) $(LDFLAGS) -o arpd arpd.c $(LDLIBS) -ldb
+arpd: arpd.o
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o arpd arpd.o $(LDLIBS) -ldb
ssfilter.tab.c: ssfilter.y
$(QUIET_YACC)$(YACC) -b ssfilter ssfilter.y

View File

@ -0,0 +1,24 @@
From: Michal Kubecek <mkubecek@suse.cz>
Date: Fri, 15 Jan 2016 07:30:15 +0100
Subject: use sysconf(_SC_CLK_TCK) if HZ undefined
Patch-mainline: No
---
lib/utils.c | 4 ++++
1 file changed, 4 insertions(+)
Index: iproute2-6.3.0/lib/utils.c
===================================================================
--- iproute2-6.3.0.orig/lib/utils.c
+++ iproute2-6.3.0/lib/utils.c
@@ -108,6 +108,10 @@ int get_hex(char c)
return -1;
}
+#ifndef HZ
+#define HZ sysconf(_SC_CLK_TCK)
+#endif
+
int get_integer(int *val, const char *arg, int base)
{
long res;