From a446ac2bb094a9bf61b5489983f5ebb6c0e5f36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 21 Dec 2019 20:52:55 +0000 Subject: [PATCH 1/7] net-snmp: add multiple outputs to reduce closure size --- pkgs/servers/monitoring/net-snmp/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix index 2bbab30d9ec..ed2abbc7fc8 100644 --- a/pkgs/servers/monitoring/net-snmp/default.nix +++ b/pkgs/servers/monitoring/net-snmp/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, fetchpatch, autoreconfHook, file, openssl, perl, perlPackages, unzip, nettools, ncurses }: +{ stdenv, fetchurl, fetchpatch, autoreconfHook, removeReferencesTo +, file, openssl, perl, perlPackages, unzip, nettools, ncurses }: stdenv.mkDerivation rec { name = "net-snmp-5.8"; @@ -19,6 +20,8 @@ stdenv.mkDerivation rec { ./0002-autoconf-version.patch ]; + outputs = [ "bin" "out" "dev" "lib" ]; + configureFlags = [ "--with-default-snmp-version=3" "--with-sys-location=Unknown" @@ -34,17 +37,21 @@ stdenv.mkDerivation rec { substituteInPlace testing/fulltests/support/simple_TESTCONF.sh --replace "/bin/netstat" "${nettools}/bin/netstat" ''; - nativeBuildInputs = [ autoreconfHook nettools ]; - buildInputs = [ file perl unzip openssl ncurses ]; - propagatedBuildInputs = with perlPackages; [ perl JSON Tk TermReadKey ]; + nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo ]; + buildInputs = with perlPackages; [ file perl unzip openssl ncurses JSON Tk TermReadKey ]; enableParallelBuilding = true; doCheck = false; # tries to use networking postInstall = '' - for f in "$out/lib/"*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do + for f in "$lib/lib/"*.la $bin/bin/net-snmp-config $bin/bin/net-snmp-create-v3-user; do sed 's|-L${openssl.dev}|-L${openssl.out}|g' -i $f done + mkdir $dev/bin + mv $bin/bin/net-snmp-config $dev/bin + # libraries contain configure options + find $lib/lib -type f -exec remove-references-to -t $bin '{}' + + find $lib/lib -type f -exec remove-references-to -t $dev '{}' + ''; meta = with stdenv.lib; { From b9bc38934b166bd8e03255a5c9e3ef2fcbe6a208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 21 Dec 2019 22:38:07 +0000 Subject: [PATCH 2/7] h2o: build with openssl otherwise we get symbol conflicts, once we link it against applications using openssl --- pkgs/servers/http/h2o/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/h2o/default.nix b/pkgs/servers/http/h2o/default.nix index a8de0d7e084..d599956cfda 100644 --- a/pkgs/servers/http/h2o/default.nix +++ b/pkgs/servers/http/h2o/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub , pkgconfig, cmake, ninja -, libressl, libuv, zlib +, openssl, libuv, zlib }: stdenv.mkDerivation rec { @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig cmake ninja ]; - buildInputs = [ libressl libuv zlib ]; + buildInputs = [ openssl libuv zlib ]; meta = with stdenv.lib; { description = "Optimized HTTP/1 and HTTP/2 server"; From 0913701d47bfc6ad04f0389a40cf34fecef275ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 21 Dec 2019 22:39:00 +0000 Subject: [PATCH 3/7] dnsdist: 1.3.2 -> 1.4.0 - fixes build against boost - also enable DoH --- pkgs/servers/dns/dnsdist/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/servers/dns/dnsdist/default.nix b/pkgs/servers/dns/dnsdist/default.nix index cb004a596d2..d0275a52cc5 100644 --- a/pkgs/servers/dns/dnsdist/default.nix +++ b/pkgs/servers/dns/dnsdist/default.nix @@ -1,22 +1,26 @@ { stdenv, fetchurl, pkgconfig, systemd , boost, libsodium, libedit, re2 -, net_snmp, lua, protobuf, openssl }: stdenv.mkDerivation rec { +, net_snmp, lua, protobuf, openssl, zlib, h2o +}: + +stdenv.mkDerivation rec { pname = "dnsdist"; - version = "1.3.2"; + version = "1.4.0"; src = fetchurl { url = "https://downloads.powerdns.com/releases/dnsdist-${version}.tar.bz2"; - sha256 = "1i3b1vpk9a8zbx9aby2s1ckkzhlvzgn11hcgj3b8x2j1b9771rqb"; + sha256 = "1h0x5xd13j8xxrrinb7d55851m6n9w0r15wx9m3c50dk7qngldm3"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ systemd boost libsodium libedit re2 net_snmp lua protobuf openssl ]; + nativeBuildInputs = [ pkgconfig protobuf ]; + buildInputs = [ systemd boost libsodium libedit re2 net_snmp lua openssl zlib h2o ]; configureFlags = [ "--enable-libsodium" "--enable-re2" "--enable-dnscrypt" "--enable-dns-over-tls" + "--enable-dns-over-https" "--with-protobuf=yes" "--with-net-snmp" "--disable-dependency-tracking" @@ -26,6 +30,8 @@ doCheck = true; + enableParallelBuilding = true; + meta = with stdenv.lib; { description = "DNS Loadbalancer"; homepage = "https://dnsdist.org"; From 2ce0f06a7ca027def4d2e5b8e5de4c66ba016468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 21 Dec 2019 22:41:11 +0000 Subject: [PATCH 4/7] keepalived: 1.4.5 -> 2.0.19 --- pkgs/tools/networking/keepalived/default.nix | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix index 4e1894db98c..34f8e5620f7 100644 --- a/pkgs/tools/networking/keepalived/default.nix +++ b/pkgs/tools/networking/keepalived/default.nix @@ -1,24 +1,18 @@ -{ stdenv, fetchFromGitHub, fetchpatch, libnfnetlink, libnl, net_snmp, openssl, pkgconfig }: +{ stdenv, fetchFromGitHub +, libnfnetlink, libnl, net_snmp, openssl +, pkgconfig, autoreconfHook }: stdenv.mkDerivation rec { pname = "keepalived"; - version = "1.4.5"; + version = "2.0.19"; src = fetchFromGitHub { owner = "acassen"; repo = "keepalived"; rev = "v${version}"; - sha256 = "12r80rcfxrys826flaqcdlfhcr7q4ccsd62ra1svy9545vf02qmx"; + sha256 = "05jgr0f04z69x3zf3b9z04wczl15fnh69bs6j0yw55fij1k9nj4d"; }; - patches = [ - (fetchpatch { - name = "CVE-2018-19115.patch"; - url = "https://github.com/acassen/keepalived/pull/961/commits/f28015671a4b04785859d1b4b1327b367b6a10e9.patch"; - sha256 = "1jnwk7x4qdgv7fb4jzw6sihv62n8wv04myhgwm2vxn8nfkcgd1mm"; - }) - ]; - buildInputs = [ libnfnetlink libnl @@ -26,7 +20,7 @@ stdenv.mkDerivation rec { openssl ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; configureFlags = [ "--enable-sha1" From 475aecef6a829752dfa5dd5e6f2488da65f8af22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 21 Dec 2019 22:42:58 +0000 Subject: [PATCH 5/7] argus: flex & bison belongs to nativeBuildInputs --- pkgs/tools/networking/argus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/argus/default.nix b/pkgs/tools/networking/argus/default.nix index 72c0a78a447..d75234d15d0 100644 --- a/pkgs/tools/networking/argus/default.nix +++ b/pkgs/tools/networking/argus/default.nix @@ -10,9 +10,9 @@ stdenv.mkDerivation rec { sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libpcap bison cyrus_sasl tcp_wrappers flex ]; propagatedBuildInputs = [ procps which wget lsof net_snmp ]; + nativeBuildInputs = [ pkgconfig bison flex ]; + buildInputs = [ libpcap cyrus_sasl tcp_wrappers ]; patchPhase = '' substituteInPlace events/argus-extip.pl \ From 725f85e271b934b57383abd7db81cc601b4b4c18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 21 Dec 2019 22:44:50 +0000 Subject: [PATCH 6/7] net-snmp: rename from net_snmp --- pkgs/applications/graphics/sane/backends/generic.nix | 4 ++-- pkgs/development/python-modules/easysnmp/default.nix | 6 +++--- pkgs/misc/drivers/hplip/3.16.11.nix | 4 ++-- pkgs/misc/drivers/hplip/3.18.5.nix | 4 ++-- pkgs/misc/drivers/hplip/default.nix | 4 ++-- pkgs/servers/corosync/default.nix | 4 ++-- pkgs/servers/dns/dnsdist/default.nix | 4 ++-- pkgs/servers/ldap/389/default.nix | 8 +++++--- pkgs/servers/monitoring/plugins/default.nix | 6 +++--- pkgs/servers/monitoring/prometheus/snmp-exporter.nix | 4 ++-- pkgs/servers/monitoring/zabbix/proxy.nix | 4 ++-- pkgs/servers/monitoring/zabbix/server.nix | 4 ++-- pkgs/servers/quagga/default.nix | 4 ++-- pkgs/tools/networking/argus/default.nix | 8 ++++---- pkgs/tools/networking/ifstat-legacy/default.nix | 4 ++-- pkgs/tools/networking/keepalived/default.nix | 4 ++-- pkgs/tools/networking/lldpd/default.nix | 4 ++-- pkgs/tools/system/collectd/plugins.nix | 6 +++--- pkgs/tools/system/rsyslog/default.nix | 6 +++--- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 4 ++-- pkgs/top-level/python-packages.nix | 2 +- 22 files changed, 51 insertions(+), 48 deletions(-) diff --git a/pkgs/applications/graphics/sane/backends/generic.nix b/pkgs/applications/graphics/sane/backends/generic.nix index 92cec3ca82c..0e8a5f34f6c 100644 --- a/pkgs/applications/graphics/sane/backends/generic.nix +++ b/pkgs/applications/graphics/sane/backends/generic.nix @@ -1,5 +1,5 @@ { stdenv -, avahi, libjpeg, libusb1, libv4l, net_snmp, libpng +, avahi, libjpeg, libusb1, libv4l, net-snmp, libpng , gettext, pkgconfig # List of { src name backend } attibute sets - see installFirmware below: @@ -24,7 +24,7 @@ stdenv.mkDerivation { ++ stdenv.lib.optional (libusb1 != null) "--enable-libusb_1_0" ; - buildInputs = [ avahi libusb1 libv4l net_snmp libpng ]; + buildInputs = [ avahi libusb1 libv4l net-snmp libpng ]; nativeBuildInputs = [ gettext pkgconfig ]; enableParallelBuilding = true; diff --git a/pkgs/development/python-modules/easysnmp/default.nix b/pkgs/development/python-modules/easysnmp/default.nix index 32659b520ba..2602fba7713 100644 --- a/pkgs/development/python-modules/easysnmp/default.nix +++ b/pkgs/development/python-modules/easysnmp/default.nix @@ -3,7 +3,7 @@ , buildPythonPackage , pythonAtLeast , fetchFromGitHub -, net_snmp +, net-snmp , openssl , pytest , pytestcov @@ -35,12 +35,12 @@ buildPythonPackage rec { ]; buildInputs = [ - net_snmp + net-snmp openssl ]; buildPhase = '' - python setup.py build bdist_wheel --basedir=${net_snmp}/bin + python setup.py build bdist_wheel --basedir=${lib.getBin net-snmp}/bin ''; # Unable to get tests to pass, even running by hand. The pytest tests have diff --git a/pkgs/misc/drivers/hplip/3.16.11.nix b/pkgs/misc/drivers/hplip/3.16.11.nix index 993a5144a9d..3b03c300db3 100644 --- a/pkgs/misc/drivers/hplip/3.16.11.nix +++ b/pkgs/misc/drivers/hplip/3.16.11.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, substituteAll , pkgconfig , cups, libjpeg, libusb1, python2Packages, sane-backends, dbus, usbutils -, net_snmp, openssl, nettools +, net-snmp, openssl, nettools , bash, coreutils, utillinux , qtSupport ? true , withPlugin ? false @@ -55,7 +55,7 @@ python2Packages.buildPythonApplication { libusb1 sane-backends dbus - net_snmp + net-snmp openssl ]; diff --git a/pkgs/misc/drivers/hplip/3.18.5.nix b/pkgs/misc/drivers/hplip/3.18.5.nix index 3b78f015f7d..ab1794c1251 100644 --- a/pkgs/misc/drivers/hplip/3.18.5.nix +++ b/pkgs/misc/drivers/hplip/3.18.5.nix @@ -2,7 +2,7 @@ , pkgconfig , cups, zlib, libjpeg, libusb1, python2Packages, sane-backends , dbus, file, ghostscript, usbutils -, net_snmp, openssl, perl, nettools +, net-snmp, openssl, perl, nettools , bash, coreutils, utillinux , withQt5 ? true , withPlugin ? false @@ -59,7 +59,7 @@ python2Packages.buildPythonApplication { dbus file ghostscript - net_snmp + net-snmp openssl perl zlib diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix index d81032ef270..ecb74f39ab9 100644 --- a/pkgs/misc/drivers/hplip/default.nix +++ b/pkgs/misc/drivers/hplip/default.nix @@ -2,7 +2,7 @@ , pkgconfig , cups, zlib, libjpeg, libusb1, python3Packages, sane-backends , dbus, file, ghostscript, usbutils -, net_snmp, openssl, perl, nettools +, net-snmp, openssl, perl, nettools , bash, coreutils, utillinux , withQt5 ? true , withPlugin ? false @@ -58,7 +58,7 @@ python3Packages.buildPythonApplication { dbus file ghostscript - net_snmp + net-snmp openssl perl zlib diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix index faa9976bed8..2d7acda90af 100644 --- a/pkgs/servers/corosync/default.nix +++ b/pkgs/servers/corosync/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb -, dbus, rdma-core, libstatgrab, net_snmp +, dbus, rdma-core, libstatgrab, net-snmp , enableDbus ? false , enableInfiniBandRdma ? false , enableMonitoring ? false @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ] ++ optional enableDbus dbus ++ optional enableInfiniBandRdma rdma-core ++ optional enableMonitoring libstatgrab - ++ optional enableSnmp net_snmp; + ++ optional enableSnmp net-snmp; configureFlags = [ "--sysconfdir=/etc" diff --git a/pkgs/servers/dns/dnsdist/default.nix b/pkgs/servers/dns/dnsdist/default.nix index d0275a52cc5..0c236fe9315 100644 --- a/pkgs/servers/dns/dnsdist/default.nix +++ b/pkgs/servers/dns/dnsdist/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, systemd , boost, libsodium, libedit, re2 -, net_snmp, lua, protobuf, openssl, zlib, h2o +, net-snmp, lua, protobuf, openssl, zlib, h2o }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig protobuf ]; - buildInputs = [ systemd boost libsodium libedit re2 net_snmp lua openssl zlib h2o ]; + buildInputs = [ systemd boost libsodium libedit re2 net-snmp lua openssl zlib h2o ]; configureFlags = [ "--enable-libsodium" diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix index e7bff373c3a..8de4c471e22 100644 --- a/pkgs/servers/ldap/389/default.nix +++ b/pkgs/servers/ldap/389/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, doxygen, perl, pam, nspr, nss, openldap -, db, cyrus_sasl, svrcore, icu, net_snmp, kerberos, pcre, perlPackages, libevent, openssl, python +, db, cyrus_sasl, svrcore, icu, net-snmp, kerberos, pcre, perlPackages, libevent, openssl, python }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig doxygen ]; buildInputs = [ perl pam nspr nss openldap db cyrus_sasl svrcore icu - net_snmp kerberos pcre libevent openssl python + net-snmp kerberos pcre libevent openssl python ] ++ (with perlPackages; [ MozillaLdap NetAddrIP DBFile ]); patches = [ @@ -46,7 +46,9 @@ stdenv.mkDerivation rec { "--with-db-inc=${db.dev}/include" "--with-db-lib=${db.out}/lib" "--with-sasl=${cyrus_sasl.dev}" - "--with-netsnmp=${net_snmp}" + "--with-netsnmp=yes" + "--with-netsnmp-inc=${stdenv.lib.getDev net-snmp}/include" + "--with-netsnmp-lib=${stdenv.lib.getLib net-snmp}/lib" ]; enableParallelBuilding = true; diff --git a/pkgs/servers/monitoring/plugins/default.nix b/pkgs/servers/monitoring/plugins/default.nix index 62f40b59d37..887256c85af 100644 --- a/pkgs/servers/monitoring/plugins/default.nix +++ b/pkgs/servers/monitoring/plugins/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchpatch, autoreconfHook -, coreutils, gnugrep, gnused, lm_sensors, net_snmp, openssh, openssl, perl +, coreutils, gnugrep, gnused, lm_sensors, net-snmp, openssh, openssl, perl , dnsutils, libdbi, libmysqlclient, zlib, openldap, procps , runtimeShell }: @@ -9,7 +9,7 @@ let majorVersion = "2.2"; minorVersion = ".0"; - binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net_snmp procps ]; + binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net-snmp procps ]; in stdenv.mkDerivation { name = "monitoring-plugins-${majorVersion}${minorVersion}"; @@ -48,7 +48,7 @@ in stdenv.mkDerivation { ''; # !!! make openssh a runtime dependency only - buildInputs = [ dnsutils libdbi libmysqlclient net_snmp openldap openssh openssl perl procps zlib ]; + buildInputs = [ dnsutils libdbi libmysqlclient net-snmp openldap openssh openssl perl procps zlib ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix index dfa81d4da83..f3dfccee3bc 100644 --- a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, net_snmp }: +{ stdenv, buildGoPackage, fetchFromGitHub, net-snmp }: buildGoPackage rec { pname = "snmp_exporter"; @@ -13,7 +13,7 @@ buildGoPackage rec { sha256 = "1cnz1wapxs3fkghzy6v90s56vd0ngynypyapcpbmx5y66rlpdxx6"; }; - buildInputs = [ net_snmp ]; + buildInputs = [ net-snmp ]; doCheck = true; diff --git a/pkgs/servers/monitoring/zabbix/proxy.nix b/pkgs/servers/monitoring/zabbix/proxy.nix index 53932af6a18..697492d9627 100644 --- a/pkgs/servers/monitoring/zabbix/proxy.nix +++ b/pkgs/servers/monitoring/zabbix/proxy.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, libevent, libiconv, openssl, pcre, zlib , odbcSupport ? true, unixODBC -, snmpSupport ? true, net_snmp +, snmpSupport ? true, net-snmp , sshSupport ? true, libssh2 , sqliteSupport ? false, sqlite , mysqlSupport ? false, libmysqlclient @@ -34,7 +34,7 @@ in zlib ] ++ optional odbcSupport unixODBC - ++ optional snmpSupport net_snmp + ++ optional snmpSupport net-snmp ++ optional sqliteSupport sqlite ++ optional sshSupport libssh2 ++ optional mysqlSupport libmysqlclient diff --git a/pkgs/servers/monitoring/zabbix/server.nix b/pkgs/servers/monitoring/zabbix/server.nix index ac5dcca901d..4046cc7d8bb 100644 --- a/pkgs/servers/monitoring/zabbix/server.nix +++ b/pkgs/servers/monitoring/zabbix/server.nix @@ -2,7 +2,7 @@ , jabberSupport ? true, iksemel , ldapSupport ? true, openldap , odbcSupport ? true, unixODBC -, snmpSupport ? true, net_snmp +, snmpSupport ? true, net-snmp , sshSupport ? true, libssh2 , mysqlSupport ? false, libmysqlclient , postgresqlSupport ? false, postgresql @@ -38,7 +38,7 @@ in ++ optional odbcSupport unixODBC ++ optional jabberSupport iksemel ++ optional ldapSupport openldap - ++ optional snmpSupport net_snmp + ++ optional snmpSupport net-snmp ++ optional sshSupport libssh2 ++ optional mysqlSupport libmysqlclient ++ optional postgresqlSupport postgresql; diff --git a/pkgs/servers/quagga/default.nix b/pkgs/servers/quagga/default.nix index fc130965cf1..bd679fd3ff8 100644 --- a/pkgs/servers/quagga/default.nix +++ b/pkgs/servers/quagga/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libcap, libnl, readline, net_snmp, less, perl, texinfo, +{ stdenv, fetchurl, libcap, libnl, readline, net-snmp, less, perl, texinfo, pkgconfig, c-ares }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ readline net_snmp c-ares ] + [ readline net-snmp c-ares ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap libnl ]; nativeBuildInputs = [ pkgconfig perl texinfo ]; diff --git a/pkgs/tools/networking/argus/default.nix b/pkgs/tools/networking/argus/default.nix index d75234d15d0..bb9abccc933 100644 --- a/pkgs/tools/networking/argus/default.nix +++ b/pkgs/tools/networking/argus/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers, - pkgconfig, procps, which, wget, lsof, net_snmp, perl }: + pkgconfig, procps, which, wget, lsof, net-snmp, perl }: stdenv.mkDerivation rec { pname = "argus"; @@ -10,9 +10,9 @@ stdenv.mkDerivation rec { sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna"; }; - propagatedBuildInputs = [ procps which wget lsof net_snmp ]; nativeBuildInputs = [ pkgconfig bison flex ]; buildInputs = [ libpcap cyrus_sasl tcp_wrappers ]; + propagatedBuildInputs = [ procps which wget lsof net-snmp ]; patchPhase = '' substituteInPlace events/argus-extip.pl \ @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { substituteInPlace events/argus-vmstat.sh \ --replace vm_stat ${procps}/bin/vmstat substituteInPlace events/argus-snmp.sh \ - --replace /usr/bin/snmpget ${net_snmp}/bin/snmpget \ - --replace /usr/bin/snmpwalk ${net_snmp}/bin/snmpwalk + --replace /usr/bin/snmpget ${stdenv.lib.getBin net-snmp}/bin/snmpget \ + --replace /usr/bin/snmpwalk ${stdenv.lib.getBin net-snmp}/bin/snmpwalk ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/ifstat-legacy/default.nix b/pkgs/tools/networking/ifstat-legacy/default.nix index 756e77f1157..72aaaa1e170 100644 --- a/pkgs/tools/networking/ifstat-legacy/default.nix +++ b/pkgs/tools/networking/ifstat-legacy/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoreconfHook, net_snmp }: +{ stdenv, fetchurl, autoreconfHook, net-snmp }: stdenv.mkDerivation rec { pname = "ifstat-legacy"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "01zmv6vk5kh5xmd563xws8a1qnxjb6b6kv59yzz9r3rrghxhd6c5"; }; - buildInputs = [ net_snmp ]; + buildInputs = [ net-snmp ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix index 34f8e5620f7..142e2e79bbf 100644 --- a/pkgs/tools/networking/keepalived/default.nix +++ b/pkgs/tools/networking/keepalived/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub -, libnfnetlink, libnl, net_snmp, openssl +, libnfnetlink, libnl, net-snmp, openssl , pkgconfig, autoreconfHook }: stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ libnfnetlink libnl - net_snmp + net-snmp openssl ]; diff --git a/pkgs/tools/networking/lldpd/default.nix b/pkgs/tools/networking/lldpd/default.nix index b8ba1357f5f..23dbb60767e 100644 --- a/pkgs/tools/networking/lldpd/default.nix +++ b/pkgs/tools/networking/lldpd/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, pkgconfig, removeReferencesTo -, libevent, readline, net_snmp, openssl +, libevent, readline, net-snmp, openssl }: stdenv.mkDerivation rec { @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkgconfig removeReferencesTo ]; - buildInputs = [ libevent readline net_snmp openssl ]; + buildInputs = [ libevent readline net-snmp openssl ]; enableParallelBuilding = true; diff --git a/pkgs/tools/system/collectd/plugins.nix b/pkgs/tools/system/collectd/plugins.nix index c29ebc925bc..f1a87847a5c 100644 --- a/pkgs/tools/system/collectd/plugins.nix +++ b/pkgs/tools/system/collectd/plugins.nix @@ -24,7 +24,7 @@ , lm_sensors , mongoc , mosquitto -, net_snmp +, net-snmp , postgresql , protobufc , python @@ -243,10 +243,10 @@ let buildInputs = stdenv.lib.optionals stdenv.isLinux [ libatasmart udev ]; }; snmp = { - buildInputs = stdenv.lib.optionals stdenv.isLinux [ net_snmp ]; + buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ]; }; snmp_agent = { - buildInputs = stdenv.lib.optionals stdenv.isLinux [ net_snmp ]; + buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ]; }; statsd = {}; swap = {}; diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix index 96f0a754f61..d12411d6145 100644 --- a/pkgs/tools/system/rsyslog/default.nix +++ b/pkgs/tools/system/rsyslog/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, autoreconfHook, libestr, json_c, zlib, pythonPackages, fastJson , libkrb5 ? null, systemd ? null, jemalloc ? null, libmysqlclient ? null, postgresql ? null -, libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null +, libdbi ? null, net-snmp ? null, libuuid ? null, curl ? null, gnutls ? null , libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null , liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null , libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null, mongoc ? null @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ fastJson libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc - postgresql libdbi net_snmp libuuid curl gnutls libgcrypt liblognorm openssl + postgresql libdbi net-snmp libuuid curl gnutls libgcrypt liblognorm openssl librelp libksi liblogging libnet hadoop rdkafka libmongo-client czmq rabbitmq-c hiredis mongoc ] ++ stdenv.lib.optional (libmysqlclient != null) libmysqlclient @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { (mkFlag (libmysqlclient != null) "mysql") (mkFlag (postgresql != null) "pgsql") (mkFlag (libdbi != null) "libdbi") - (mkFlag (net_snmp != null) "snmp") + (mkFlag (net-snmp != null) "snmp") (mkFlag (libuuid != null) "uuid") (mkFlag (curl != null) "elasticsearch") (mkFlag (gnutls != null) "gnutls") diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4f522103003..ccd6dcc0d3c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -391,6 +391,7 @@ mapAliases ({ smbclient = samba; # added 2018-04-25 slim = throw "slim has been removed. Please use a different display-manager"; # added 2019-11-11 slimThemes = throw "slimThemes has been removed because slim has been also"; # added 2019-11-11 + net_snmp = net-snmp; # added 2019-12-21 spaceOrbit = space-orbit; # addewd 2016-05-23 speech_tools = speech-tools; # added 2018-04-25 speedtest_cli = speedtest-cli; # added 2015-02-17 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 063b7172766..693769ff39c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2079,7 +2079,7 @@ in libmysqlclient = null; postgresql = null; libdbi = null; - net_snmp = null; + net-snmp = null; libuuid = null; gnutls = null; libgcrypt = null; @@ -15429,7 +15429,7 @@ in check-esxi-hardware = callPackage ../servers/monitoring/plugins/esxi.nix {}; - net_snmp = callPackage ../servers/monitoring/net-snmp { }; + net-snmp = callPackage ../servers/monitoring/net-snmp { }; newrelic-sysmond = callPackage ../servers/monitoring/newrelic-sysmond { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ec8df201741..3a045f330eb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1803,7 +1803,7 @@ in { easysnmp = callPackage ../development/python-modules/easysnmp { openssl = pkgs.openssl; - net_snmp = pkgs.net_snmp; + net-snmp = pkgs.net-snmp; }; iowait = callPackage ../development/python-modules/iowait {}; From aadfcc0900bb15dfda4b64ab3ffe768551f65d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 22 Dec 2019 07:45:31 +0000 Subject: [PATCH 7/7] nixos/keepalived: add test --- nixos/tests/all-tests.nix | 1 + nixos/tests/keepalived.nix | 42 ++++++++++++++++++++ pkgs/tools/networking/keepalived/default.nix | 4 +- 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/keepalived.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 6413895c4c5..bcb1d1a47c2 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -132,6 +132,7 @@ in jellyfin = handleTest ./jellyfin.nix {}; jenkins = handleTest ./jenkins.nix {}; kafka = handleTest ./kafka.nix {}; + keepalived = handleTest ./keepalived.nix {}; kerberos = handleTest ./kerberos/default.nix {}; kernel-latest = handleTest ./kernel-latest.nix {}; kernel-lts = handleTest ./kernel-lts.nix {}; diff --git a/nixos/tests/keepalived.nix b/nixos/tests/keepalived.nix new file mode 100644 index 00000000000..d0bf9d46520 --- /dev/null +++ b/nixos/tests/keepalived.nix @@ -0,0 +1,42 @@ +import ./make-test-python.nix ({ pkgs, ... }: { + name = "keepalived"; + + nodes = { + node1 = { pkgs, ... }: { + networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT"; + services.keepalived.enable = true; + services.keepalived.vrrpInstances.test = { + interface = "eth1"; + state = "MASTER"; + priority = 50; + virtualIps = [{ addr = "192.168.1.200"; }]; + virtualRouterId = 1; + }; + environment.systemPackages = [ pkgs.tcpdump ]; + }; + node2 = { pkgs, ... }: { + networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT"; + services.keepalived.enable = true; + services.keepalived.vrrpInstances.test = { + interface = "eth1"; + state = "MASTER"; + priority = 100; + virtualIps = [{ addr = "192.168.1.200"; }]; + virtualRouterId = 1; + }; + environment.systemPackages = [ pkgs.tcpdump ]; + }; + }; + + testScript = '' + # wait for boot time delay to pass + for node in [node1, node2]: + node.wait_until_succeeds( + "systemctl show -p LastTriggerUSecMonotonic keepalived-boot-delay.timer | grep -vq 'LastTriggerUSecMonotonic=0'" + ) + node.wait_for_unit("keepalived") + node2.wait_until_succeeds("ip addr show dev eth1 | grep -q 192.168.1.200") + node1.fail("ip addr show dev eth1 | grep -q 192.168.1.200") + node1.succeed("ping -c1 192.168.1.200") + ''; +}) diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix index 142e2e79bbf..87748211425 100644 --- a/pkgs/tools/networking/keepalived/default.nix +++ b/pkgs/tools/networking/keepalived/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub +{ stdenv, fetchFromGitHub, nixosTests , libnfnetlink, libnl, net-snmp, openssl , pkgconfig, autoreconfHook }: @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { openssl ]; + passthru.tests.keepalived = nixosTests.keepalived; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; configureFlags = [