1e0975f4c0
When doing source routing/multihoming, it's practical to give names to routing tables. The absence of the rt_table file in /etc make this impossible. This patch recreates these files on rebuild so that they can be modified by the user see NixOS#38638. iproute2 is modified to look into config.networking.iproute2.confDir instead of /etc/iproute2.
54 lines
1.6 KiB
Nix
54 lines
1.6 KiB
Nix
{ fetchurl, stdenv, config, lib, flex, bash, bison, db, iptables, pkgconfig }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "iproute2-${version}";
|
|
version = "4.16.0";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
|
|
sha256 = "02pfalg319jpbjz273ph725br8dnkzpfvi98azi9yd6p1w128p0c";
|
|
};
|
|
|
|
preConfigure = ''
|
|
patchShebangs ./configure
|
|
sed -e '/ARPDDIR/d' -i Makefile
|
|
# Don't build netem tools--they're not installed and require HOSTCC
|
|
substituteInPlace Makefile --replace " netem " " "
|
|
'';
|
|
|
|
makeFlags = [
|
|
"DESTDIR="
|
|
"LIBDIR=$(out)/lib"
|
|
"SBINDIR=$(out)/sbin"
|
|
"MANDIR=$(out)/share/man"
|
|
"BASH_COMPDIR=$(out)/share/bash-completion/completions"
|
|
"DOCDIR=$(TMPDIR)/share/doc/${name}" # Don't install docs
|
|
"HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers
|
|
];
|
|
|
|
# enable iproute2 module if you want this folder to be created
|
|
buildFlags = [
|
|
"CONFDIR=${config.iproute2.confDir or "/run/iproute2"}"
|
|
];
|
|
|
|
installFlags = [
|
|
"CONFDIR=$(out)/etc/iproute2"
|
|
];
|
|
|
|
buildInputs = [ db iptables ];
|
|
nativeBuildInputs = [ bison flex pkgconfig ];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
postInstall = ''
|
|
PATH=${bash}/bin:$PATH patchShebangs $out/sbin
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = https://wiki.linuxfoundation.org/networking/iproute2;
|
|
description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux";
|
|
platforms = platforms.linux;
|
|
license = licenses.gpl2;
|
|
maintainers = with maintainers; [ eelco wkennington fpletz ];
|
|
};
|
|
}
|