From fbc9c21eaa75b95234a1e617cf691d26583b16c7 Mon Sep 17 00:00:00 2001 From: Tom Oostveen Date: Thu, 2 Jul 2026 00:30:58 +0200 Subject: [PATCH 1/3] etcd_3_4: drop unmaintained upstream (and in nixpkgs for some reason) --- doc/release-notes/rl-2611.section.md | 2 ++ nixos/tests/etcd/default.nix | 5 --- pkgs/by-name/et/etcd_3_4/package.nix | 49 ---------------------------- pkgs/top-level/aliases.nix | 1 + 4 files changed, 3 insertions(+), 54 deletions(-) delete mode 100644 pkgs/by-name/et/etcd_3_4/package.nix diff --git a/doc/release-notes/rl-2611.section.md b/doc/release-notes/rl-2611.section.md index 936f58ebacf7..8225a30fcafb 100644 --- a/doc/release-notes/rl-2611.section.md +++ b/doc/release-notes/rl-2611.section.md @@ -46,6 +46,8 @@ - Support for the legacy U‐Boot image format has been removed from the Linux kernel builders, as it is deprecated upstream and no longer used by any platform in Nixpkgs. +- `etcd_3_4` package was dropped, as it's gone EOL. Please upgrade to either 3.5 or 3.6. See [migration notes](https://etcd.io/docs/v3.6/upgrades/upgrade_3_6/) for incompatibilities and upgrade procedure. + - `rke2` retires ingress-nginx and transitions to Traefik starting in `rke2_1_36`. Because ingress-nginx was retired upstream as of March 2026, Traefik is now the default for new clusters starting in v1.36 (existing clusters will keep their current ingress upon upgrade to avoid breakage). This transition brings the following structural changes: - Airgapped Environments: The rke2-images-core tarball now contains Traefik images instead of ingress-nginx. The standalone rke2-images-traefik tarball has been removed. diff --git a/nixos/tests/etcd/default.nix b/nixos/tests/etcd/default.nix index 96add9670a95..16e605550136 100644 --- a/nixos/tests/etcd/default.nix +++ b/nixos/tests/etcd/default.nix @@ -22,16 +22,11 @@ let } (import path etcdPkgs) ); testEtcdPkg = pkg: path: testEtcd path { etcd = pkg; }; - testEtcd_3_4 = testEtcdPkg pkgs.etcd_3_4; testEtcd_3_5 = testEtcdPkg pkgs.etcd_3_5; testEtcd_3_6 = testEtcdPkg pkgs.etcd_3_6; in { - "3_4" = { - multi-node = testEtcd_3_4 ./multi-node.nix; - single-node = testEtcd_3_4 ./single-node.nix; - }; "3_5" = { multi-node = testEtcd_3_5 ./multi-node.nix; single-node = testEtcd_3_5 ./single-node.nix; diff --git a/pkgs/by-name/et/etcd_3_4/package.nix b/pkgs/by-name/et/etcd_3_4/package.nix deleted file mode 100644 index 4aa1160b36f8..000000000000 --- a/pkgs/by-name/et/etcd_3_4/package.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - lib, - buildGoModule, - fetchFromGitHub, - nixosTests, -}: - -buildGoModule (finalAttrs: { - pname = "etcd"; - version = "3.4.45"; - - src = fetchFromGitHub { - owner = "etcd-io"; - repo = "etcd"; - tag = "v${finalAttrs.version}"; - hash = "sha256-GvhejN7+woYK7UBNguzEaO6rqAbT7Vbwl5nFmI/F6Sc="; - }; - - proxyVendor = true; - vendorHash = "sha256-0xIK71sAwMzzSaN2lFKKdGtDKWYtL25x5GDoO6bO0wI="; - - preBuild = '' - go mod tidy - ''; - - buildPhase = '' - runHook preBuild - patchShebangs . - ./build - ./functional/build - runHook postBuild - ''; - - doCheck = false; - - postInstall = '' - install -Dm755 bin/* bin/functional/cmd/* -t $out/bin - ''; - - passthru.tests = nixosTests.etcd."3_4"; - - meta = { - description = "Distributed reliable key-value store for the most critical data of a distributed system"; - downloadPage = "https://github.com/etcd-io/etcd/"; - license = lib.licenses.asl20; - homepage = "https://etcd.io/"; - maintainers = [ ]; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 05a043d8e174..fc84e474a1f0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -736,6 +736,7 @@ mapAliases { esbuild-config = throw "'esbuild-config' has been removed as it has been unmaintained upstream since September 2022"; # Added 2026-02-07 esbuild_netlify = throw "'esbuild_netlify' has been removed, as the netlify esbuild fork is abandoned upstream and no longer used by netlify-cli; use 'esbuild' instead"; # Added 2026-06-08 etBook = warnAlias "'etBook' has been renamed to 'et-book'" et-book; # Added 2026-02-08 + etcd_3_4 = throw "'etcd_3_4' is EOL and has been removed, use 'etcd' or a maintained version"; # Added 2026-07-02 ethercalc = throw "'ethercalc' has been removed from nixpkgs as the project was old, unmaintained, and could not be packaged well in nixpkgs"; # Added 2025-11-28 ethersync = warnAlias "'ethersync' has been renamed to 'teamtype'" teamtype; # Added 2025-10-31 eureka-ideas = throw "'eureka-ideas' has been removed as it has been unmaintained upstream since April 2023"; # Added 2026-02-07 From d646fc640869b0661f8da54da98758fdacda1dcf Mon Sep 17 00:00:00 2001 From: Tom Oostveen Date: Thu, 2 Jul 2026 00:41:57 +0200 Subject: [PATCH 2/3] etcd_3_6: 3.6.12 -> 3.6.13 --- pkgs/by-name/et/etcd_3_6/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/et/etcd_3_6/package.nix b/pkgs/by-name/et/etcd_3_6/package.nix index 7101639e6079..d8ab12fe73aa 100644 --- a/pkgs/by-name/et/etcd_3_6/package.nix +++ b/pkgs/by-name/et/etcd_3_6/package.nix @@ -9,11 +9,11 @@ }: let - version = "3.6.12"; - etcdSrcHash = "sha256-oUq/yRwSgJ2xZ6yoiEBYSSRH5NvHITXjMFuR7QZc4HU="; - etcdCtlVendorHash = "sha256-0ZlJiXFS7QxJ+dfstJf+ogLPL0kxrE/4ZTsKb0OOCqA="; - etcdUtlVendorHash = "sha256-o7TWg7RgeWZa92beumSGCpxvLcFMzqC1vgcKfi5K4dI="; - etcdServerVendorHash = "sha256-UzToh6FaAVyxzZdDoukrHez1W9+tifFGEM16UCcmm5U="; + version = "3.6.13"; + etcdSrcHash = "sha256-L6wnvexUxFlN4r2D9rIQPDIYWMvs6DqY8eWU1FToi3M="; + etcdCtlVendorHash = "sha256-UKuxCQi1RriPvX9cM+Nd1jXs/H0smwJJU9CEM/cI/sA="; + etcdUtlVendorHash = "sha256-molkWWxxKLCCbocqVaij1jcHeoYYHSuI/cAfieeZH+0="; + etcdServerVendorHash = "sha256-o58rJPOSeT14SAEjBSbXwPDuAsOT/YNAqZRCM15unJQ="; src = fetchFromGitHub { owner = "etcd-io"; From 5ba728b5b15eb27492a0da47a1dd004ea08e391a Mon Sep 17 00:00:00 2001 From: Tom Oostveen Date: Thu, 2 Jul 2026 17:49:40 +0200 Subject: [PATCH 3/3] python-etcd: drop tests that rely on etcd_3_4 Co-authored-by: Priyanshu Tripathi --- .../development/python-modules/python-etcd/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-etcd/default.nix b/pkgs/development/python-modules/python-etcd/default.nix index 63d7a5c5cff7..03fe65a59be7 100644 --- a/pkgs/development/python-modules/python-etcd/default.nix +++ b/pkgs/development/python-modules/python-etcd/default.nix @@ -8,7 +8,6 @@ urllib3, dnspython, pytestCheckHook, - etcd_3_4, mock, pyopenssl, python, @@ -42,7 +41,6 @@ buildPythonPackage { nativeCheckInputs = [ pytestCheckHook - etcd_3_4 mock pyopenssl ]; @@ -57,6 +55,14 @@ buildPythonPackage { done ''; + disabledTestPaths = [ + # these tests expect that etcd is at version 3.4, which has been dropped in + # Nixpkgs due to it being unmaintained. + "src/etcd/tests/integration/test_simple.py" + "src/etcd/tests/integration/test_ssl.py" + "src/etcd/tests/test_auth.py" + ]; + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ # Seems to be failing because of network restrictions # AttributeError: Can't get local object 'TestWatch.test_watch_indexed_generator..watch_value'