diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix index d46815e8bf2a..f80de50ea551 100644 --- a/pkgs/tools/misc/ethtool/default.nix +++ b/pkgs/tools/misc/ethtool/default.nix @@ -3,15 +3,16 @@ , fetchurl , libmnl , pkg-config +, writeScript }: stdenv.mkDerivation rec { pname = "ethtool"; - version = "5.16"; + version = "5.17"; src = fetchurl { url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-qi/vGTbdShF1XfoL25Pw7FvqRSCNJ8l1S8Or4apCwcs="; + sha256 = "sha256-ZKuRS5xrRQRyRdkfQLh2CycomSqeWvInF8ZEI46IkTM="; }; nativeBuildInputs = [ @@ -22,6 +23,22 @@ stdenv.mkDerivation rec { libmnl ]; + passthru = { + updateScript = writeScript "update-ethtool" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl pcre common-updater-scripts + + set -eu -o pipefail + + # Expect the text in format of '...' + # The page always lists versions newest to oldest. Pick the first one. + new_version="$(curl -s https://mirrors.edge.kernel.org/pub/software/network/ethtool/ | + pcregrep -o1 '' | + head -n1)" + update-source-version ${pname} "$new_version" + ''; + }; + meta = with lib; { description = "Utility for controlling network drivers and hardware"; homepage = "https://www.kernel.org/pub/software/network/ethtool/";