diff options
-rw-r--r-- | maintainers/maintainer-list.nix | 6 | ||||
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/networking/bee-clef.nix | 107 | ||||
-rw-r--r-- | nixos/modules/services/networking/bee.nix | 11 | ||||
-rw-r--r-- | pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch | 44 | ||||
-rw-r--r-- | pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch | 25 | ||||
-rw-r--r-- | pkgs/applications/networking/bee/bee-clef.nix | 57 | ||||
-rw-r--r-- | pkgs/applications/networking/bee/bee.nix | 69 | ||||
-rw-r--r-- | pkgs/applications/networking/bee/ensure-clef-account | 47 | ||||
-rw-r--r-- | pkgs/development/tools/misc/c2ffi/default.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/aliases.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 10 |
12 files changed, 30 insertions, 351 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4016dedeec45..5def32d275fa 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1866,12 +1866,6 @@ github = "Atry"; githubId = 601530; }; - attila-lendvai = { - name = "Attila Lendvai"; - email = "attila@lendvai.name"; - github = "attila-lendvai"; - githubId = 840345; - }; auchter = { name = "Michael Auchter"; email = "a@phire.org"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 7273390595ec..d9e95b8207f2 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -900,7 +900,6 @@ ./services/networking/autossh.nix ./services/networking/avahi-daemon.nix ./services/networking/babeld.nix - ./services/networking/bee-clef.nix ./services/networking/bee.nix ./services/networking/biboumi.nix ./services/networking/bind.nix diff --git a/nixos/modules/services/networking/bee-clef.nix b/nixos/modules/services/networking/bee-clef.nix deleted file mode 100644 index 75e76f019a71..000000000000 --- a/nixos/modules/services/networking/bee-clef.nix +++ /dev/null @@ -1,107 +0,0 @@ -{ config, lib, pkgs, ... }: - -# NOTE for now nothing is installed into /etc/bee-clef/. the config files are used as read-only from the nix store. - -with lib; -let - cfg = config.services.bee-clef; -in { - meta = { - maintainers = with maintainers; [ attila-lendvai ]; - }; - - ### interface - - options = { - services.bee-clef = { - enable = mkEnableOption (lib.mdDoc "clef external signer instance for Ethereum Swarm Bee"); - - dataDir = mkOption { - type = types.nullOr types.str; - default = "/var/lib/bee-clef"; - description = lib.mdDoc '' - Data dir for bee-clef. Beware that some helper scripts may not work when changed! - The service itself should work fine, though. - ''; - }; - - passwordFile = mkOption { - type = types.nullOr types.str; - default = "/var/lib/bee-clef/password"; - description = lib.mdDoc "Password file for bee-clef."; - }; - - user = mkOption { - type = types.str; - default = "bee-clef"; - description = lib.mdDoc '' - User the bee-clef daemon should execute under. - ''; - }; - - group = mkOption { - type = types.str; - default = "bee-clef"; - description = lib.mdDoc '' - Group the bee-clef daemon should execute under. - ''; - }; - }; - }; - - ### implementation - - config = mkIf cfg.enable { - # if we ever want to have rules.js under /etc/bee-clef/ - # environment.etc."bee-clef/rules.js".source = ${pkgs.bee-clef}/rules.js - - systemd.packages = [ pkgs.bee-clef ]; # include the upstream bee-clef.service file - - systemd.tmpfiles.rules = [ - "d '${cfg.dataDir}/' 0750 ${cfg.user} ${cfg.group}" - "d '${cfg.dataDir}/keystore' 0700 ${cfg.user} ${cfg.group}" - ]; - - systemd.services.bee-clef = { - path = [ - # these are needed for the ensure-clef-account script - pkgs.coreutils - pkgs.gnused - pkgs.gawk - ]; - - wantedBy = [ "bee.service" "multi-user.target" ]; - - serviceConfig = { - User = cfg.user; - Group = cfg.group; - ExecStartPre = ''${pkgs.bee-clef}/share/bee-clef/ensure-clef-account "${cfg.dataDir}" "${pkgs.bee-clef}/share/bee-clef/"''; - ExecStart = [ - "" # this hides/overrides what's in the original entry - "${pkgs.bee-clef}/share/bee-clef/bee-clef-service start" - ]; - ExecStop = [ - "" # this hides/overrides what's in the original entry - "${pkgs.bee-clef}/share/bee-clef/bee-clef-service stop" - ]; - Environment = [ - "CONFIGDIR=${cfg.dataDir}" - "PASSWORD_FILE=${cfg.passwordFile}" - ]; - }; - }; - - users.users = optionalAttrs (cfg.user == "bee-clef") { - bee-clef = { - group = cfg.group; - home = cfg.dataDir; - isSystemUser = true; - description = "Daemon user for the bee-clef service"; - }; - }; - - users.groups = optionalAttrs (cfg.group == "bee-clef") { - bee-clef = {}; - }; - }; -} diff --git a/nixos/modules/services/networking/bee.nix b/nixos/modules/services/networking/bee.nix index 962cfd30c3fe..a4d20494bf6b 100644 --- a/nixos/modules/services/networking/bee.nix +++ b/nixos/modules/services/networking/bee.nix @@ -8,7 +8,7 @@ let in { meta = { # doc = ./bee.xml; - maintainers = with maintainers; [ attila-lendvai ]; + maintainers = with maintainers; [ ]; }; ### interface @@ -73,13 +73,10 @@ in { } ]; - warnings = optional (! config.services.bee-clef.enable) "The bee service requires an external signer. Consider setting `config.services.bee-clef.enable` = true"; - services.bee.settings = { data-dir = lib.mkDefault "/var/lib/bee"; password-file = lib.mkDefault "/var/lib/bee/password"; clef-signer-enable = lib.mkDefault true; - clef-signer-endpoint = lib.mkDefault "/var/lib/bee-clef/clef.ipc"; swap-endpoint = lib.mkDefault "https://rpc.slock.it/goerli"; }; @@ -90,9 +87,6 @@ in { ]; systemd.services.bee = { - requires = optional config.services.bee-clef.enable - "bee-clef.service"; - wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -120,7 +114,6 @@ Bee has SWAP enabled by default and it needs ethereum endpoint to operate. It is recommended to use external signer with bee. Check documentation for more info: - SWAP https://docs.ethswarm.org/docs/installation/manual#swap-bandwidth-incentives -- External signer https://docs.ethswarm.org/docs/installation/bee-clef After you finish configuration run 'sudo bee-get-addr'." fi @@ -133,8 +126,6 @@ After you finish configuration run 'sudo bee-get-addr'." home = cfg.settings.data-dir; isSystemUser = true; description = "Daemon user for Ethereum Swarm Bee"; - extraGroups = optional config.services.bee-clef.enable - config.services.bee-clef.group; }; }; diff --git a/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch b/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch deleted file mode 100644 index fb551646b7c6..000000000000 --- a/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 04933c578f51aa1f536991318dc5aede57f81c0d Mon Sep 17 00:00:00 2001 -From: Attila Lendvai <attila@lendvai.name> -Date: Sat, 30 Jan 2021 14:02:02 +0100 -Subject: [PATCH 1/2] clef-service: accept default CONFIGDIR from the - environment - ---- - packaging/bee-clef-service | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service -index 10bcd92..34c7edd 100755 ---- a/packaging/bee-clef-service -+++ b/packaging/bee-clef-service -@@ -1,16 +1,21 @@ - #!/usr/bin/env sh - - start() { -- KEYSTORE=/var/lib/bee-clef/keystore -- CONFIGDIR=/var/lib/bee-clef -+ if [ -z "$CONFIGDIR" ]; then -+ CONFIGDIR=/var/lib/bee-clef -+ fi -+ if [ -z "$PASSWORD_FILE" ]; then -+ PASSWORD_FILE=${CONFIGDIR}/password -+ fi -+ KEYSTORE=${CONFIGDIR}/keystore -+ SECRET=$(cat ${PASSWORD_FILE}) - CHAINID=5 -- SECRET=$(cat /var/lib/bee-clef/password) - # clef with every start sets permissions back to 600 -- (sleep 4; chmod 660 /var/lib/bee-clef/clef.ipc) & -+ (sleep 4; chmod 660 ${CONFIGDIR}/clef.ipc) & - ( sleep 2; cat << EOF - { "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } } - EOF --) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath /var/lib/bee-clef -+) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR} - } - - stop() { --- -2.29.2 - diff --git a/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch b/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch deleted file mode 100644 index 611aed0b890a..000000000000 --- a/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1a1ab986245e8b74648a1a0adb5d1c7019561d18 Mon Sep 17 00:00:00 2001 -From: Attila Lendvai <attila@lendvai.name> -Date: Sat, 30 Jan 2021 15:24:57 +0100 -Subject: [PATCH 2/2] nix diff for substituteAll - ---- - packaging/bee-clef-service | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service -index 34c7edd..31e9d95 100755 ---- a/packaging/bee-clef-service -+++ b/packaging/bee-clef-service -@@ -15,7 +15,7 @@ start() { - ( sleep 2; cat << EOF - { "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } } - EOF --) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR} -+) | @clefBinary@ --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules @out@/share/bee-clef/rules.js --nousb --4bytedb-custom @out@/share/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR} - } - - stop() { --- -2.29.2 - diff --git a/pkgs/applications/networking/bee/bee-clef.nix b/pkgs/applications/networking/bee/bee-clef.nix deleted file mode 100644 index 9e36f8670d46..000000000000 --- a/pkgs/applications/networking/bee/bee-clef.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ version ? "release", stdenv, lib, fetchFromGitHub, go-ethereum }: - -stdenv.mkDerivation rec { - pname = "bee-clef"; - version = "0.4.7"; - - src = fetchFromGitHub { - owner = "ethersphere"; - repo = "bee-clef"; - rev = "refs/tags/v${version}"; - sha256 = "1sfwql0kvnir8b9ggpqcyc0ar995gxgfbhqb1xpfzp6wl0g3g4zz"; - }; - - buildInputs = [ go-ethereum ]; - - clefBinary = "${go-ethereum}/bin/clef"; - - patches = [ - ./0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch - ./0002-nix-diff-for-substituteAll.patch - ]; - - dontBuild = true; - - installPhase = '' - mkdir -p $out/bin/ - mkdir -p $out/share/bee-clef/ - mkdir -p $out/lib/systemd/system/ - cp packaging/bee-clef.service $out/lib/systemd/system/ - substituteAll packaging/bee-clef-service $out/share/bee-clef/bee-clef-service - substituteAll ${./ensure-clef-account} $out/share/bee-clef/ensure-clef-account - substituteAll packaging/bee-clef-keys $out/bin/bee-clef-keys - cp packaging/rules.js packaging/4byte.json $out/share/bee-clef/ - chmod +x $out/bin/bee-clef-keys - chmod +x $out/share/bee-clef/bee-clef-service - chmod +x $out/share/bee-clef/ensure-clef-account - patchShebangs $out/ - ''; - - meta = with lib; { - # homepage = "https://gateway.ethswarm.org/bzz/docs.swarm.eth/docs/installation/bee-clef/"; - homepage = "https://docs.ethswarm.org/docs/installation/bee-clef"; - description = "External signer for Ethereum Swarm Bee"; - longDescription = '' - clef is go-ethereum's external signer. - - bee-clef is a package that starts up a vanilla clef instance as a systemd service, - but configured in such a way that is suitable for bee (relaxed security for - automated operation). - - This package contains the files necessary to run the bee-clef service. - ''; - license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ attila-lendvai ]; - platforms = go-ethereum.meta.platforms; - }; -} diff --git a/pkgs/applications/networking/bee/bee.nix b/pkgs/applications/networking/bee/bee.nix index f2fe81e8379f..cca2e549c8b1 100644 --- a/pkgs/applications/networking/bee/bee.nix +++ b/pkgs/applications/networking/bee/bee.nix @@ -1,55 +1,34 @@ -{ version ? "release", lib, fetchFromGitHub, buildGoModule }: +{ lib +, fetchFromGitHub +, buildGoModule +}: -let - - versionSpec = rec { - unstable = rec { - pname = "bee-unstable"; - version = "2021-01-30"; - rev = "824636a2c2629c329ab10275cef6a0b7395343ad"; - goVersionString = "g" + builtins.substring 0 7 rev; # this seems to be some kind of standard of git describe... - sha256 = "0ly1yqjq29arbak8lchdradf39l5bmxpbfir6ljjc7nyqdxz0sxg"; - vendorHash = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA="; - }; - release = rec { - pname = "bee"; - version = "0.5.0"; - rev = "refs/tags/v${version}"; - sha256 = "sha256-3Oy9RhgMPRFjUs3Dj8XUhAqoxx5BTi32OiK4Y8YEG2Q="; - vendorHash = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA="; - }; - "0.5.0" = release; - "0.4.1" = rec { - pname = "bee"; - version = "0.4.1"; - rev = "refs/tags/v${version}"; - sha256 = "1bmgbav52pcb5p7cgq9756512fzfqhjybyr0dv538plkqx47mpv7"; - vendorHash = "sha256-UGxiCXWlIfnhRZZBMYcWXFj77pqvJkb5wOllSdQeaUg="; - }; - }.${version}; - -in - -buildGoModule { - inherit (versionSpec) pname version vendorHash; +buildGoModule rec { + pname = "bee"; + version = "1.18.2"; src = fetchFromGitHub { owner = "ethersphere"; repo = "bee"; - inherit (versionSpec) rev sha256; + rev = "v${version}"; + sha256 = "sha256-LUOKF1073GmQWG2q4w0cTErSHw7ok5N6PQZ45xpjYx4="; }; + vendorHash = "sha256-UdsF/otjXqS1NY3PkCimRiD93hGntHG3Xhw6avFtHog="; + subPackages = [ "cmd/bee" ]; - # no symbol table, no debug info, and pass the commit for the version string - ldflags = lib.optionals ( lib.hasAttr "goVersionString" versionSpec) - [ "-s" "-w" "-X=github.com/ethersphere/bee.commit=${versionSpec.goVersionString}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/ethersphere/bee.version=${version}" + "-X github.com/ethersphere/bee/pkg/api.Version=5.2.0" + "-X github.com/ethersphere/bee/pkg/api.DebugVersion=4.1.0" + "-X github.com/ethersphere/bee/pkg/p2p/libp2p.reachabilityOverridePublic=false" + "-X github.com/ethersphere/bee/pkg/postage/listener.batchFactorOverridePublic=5" + ]; - # Mimic the bee Makefile: without disabling CGO, two (transitive and - # unused) dependencies would fail to compile. - preBuild = '' - export CGO_ENABLED=0 - ''; + CGO_ENABLED = 0; postInstall = '' mkdir -p $out/lib/systemd/system @@ -65,11 +44,13 @@ buildGoModule { longDescription = '' A decentralised storage and communication system for a sovereign digital society. - Swarm is a system of peer-to-peer networked nodes that create a decentralised storage and communication service. The system is economically self-sustaining due to a built-in incentive system enforced through smart contracts on the Ethereum blockchain. + Swarm is a system of peer-to-peer networked nodes that create a decentralised storage + and communication service. The system is economically self-sustaining due to a built-in + incentive system enforced through smart contracts on the Ethereum blockchain. Bee is a Swarm node implementation, written in Go. ''; license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ attila-lendvai ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/applications/networking/bee/ensure-clef-account b/pkgs/applications/networking/bee/ensure-clef-account deleted file mode 100644 index def67ff9cc33..000000000000 --- a/pkgs/applications/networking/bee/ensure-clef-account +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env sh - -set -e - -# NOTE This file is called by the systemd service in its preStart -# hook, but it's not Nix specific in any way. Ideally, the same file -# should be called from the postinst scripts of the other packages, -# but... the world is not ideal. - -# What follows was extracted from, and should be in sync with -# https://github.com/ethersphere/bee-clef/tree/master/packaging - -DATA_DIR="$1" -CONFIG_DIR="$2" -PASSWORD_FILE=${DATA_DIR}/password -MASTERSEED=${DATA_DIR}/masterseed.json -KEYSTORE=${DATA_DIR}/keystore - -echo "ensure-clef-account $DATA_DIR $CONFIG_DIR" - -if ! test -f ${PASSWORD_FILE}; then - < /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${PASSWORD_FILE} - chmod 0400 ${PASSWORD_FILE} - echo "Initialized ${PASSWORD_FILE} from /dev/urandom" -fi - -if ! test -f ${MASTERSEED}; then - parse_json() { echo $1|sed -e 's/[{}]/''/g'|sed -e 's/", "/'\",\"'/g'|sed -e 's/" ,"/'\",\"'/g'|sed -e 's/" , "/'\",\"'/g'|sed -e 's/","/'\"---SEPERATOR---\"'/g'|awk -F=':' -v RS='---SEPERATOR---' "\$1~/\"$2\"/ {print}"|sed -e "s/\"$2\"://"|tr -d "\n\t"|sed -e 's/\\"/"/g'|sed -e 's/\\\\/\\/g'|sed -e 's/^[ \t]*//g'|sed -e 's/^"//' -e 's/"$//' ; } - SECRET=$(cat ${PASSWORD_FILE}) - CLEF="@clefBinary@ --configdir ${DATA_DIR} --keystore ${KEYSTORE} --stdio-ui" - $CLEF init >/dev/null << EOF -$SECRET -$SECRET -EOF - $CLEF newaccount >/dev/null << EOF -$SECRET -EOF - $CLEF setpw 0x$(parse_json $(cat ${KEYSTORE}/*) address) >/dev/null << EOF -$SECRET -$SECRET -$SECRET -EOF - $CLEF attest $(sha256sum ${CONFIG_DIR}/rules.js | cut -d' ' -f1 | tr -d '\n') >/dev/null << EOF -$SECRET -EOF - echo "Clef data dir initialized" -fi diff --git a/pkgs/development/tools/misc/c2ffi/default.nix b/pkgs/development/tools/misc/c2ffi/default.nix index a24fb42c2a62..77998dc339a0 100644 --- a/pkgs/development/tools/misc/c2ffi/default.nix +++ b/pkgs/development/tools/misc/c2ffi/default.nix @@ -51,6 +51,6 @@ llvmPackages.stdenv.mkDerivation { homepage = "https://github.com/rpav/c2ffi"; description = "An LLVM based tool for extracting definitions from C, C++, and Objective C header files for use with foreign function call interfaces"; license = licenses.lgpl21Only; - maintainers = with maintainers; [ attila-lendvai ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4441c11fd289..17c06aee1ca9 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -97,6 +97,8 @@ mapAliases ({ bash_5 = bash; # Added 2021-08-20 bazel_3 = throw "bazel 3 is past end of life as it is not an lts version"; # Added 2023-02-02 bedup = throw "bedup was removed because it was broken and abandoned upstream"; # added 2023-02-04 + bee-unstable = throw "bee-unstable has been removed, use 'bee' instead"; # Added 2024-02-12 + bee-clef = throw "bee-clef has been removed as the upstream project was archived"; # Added 2024-02-12 beignet = throw "beignet was removed as it was never ported from old llvmPackages_6 upstream"; # added 2024-01-08 binance = throw "binance has been removed, because it depends on a very outdated and insecure version of electron"; # Added 2023-11-09 bird2 = bird; # Added 2022-02-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ac288e4d8f77..09c674b8d94e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6614,15 +6614,7 @@ with pkgs; beanstalkd = callPackage ../servers/beanstalkd { }; - bee = callPackage ../applications/networking/bee/bee.nix { - version = "release"; - }; - - bee-unstable = bee.override { - version = "unstable"; - }; - - bee-clef = callPackage ../applications/networking/bee/bee-clef.nix { }; + bee = callPackage ../applications/networking/bee/bee.nix { }; beetsPackages = lib.recurseIntoAttrs (callPackage ../tools/audio/beets { }); inherit (beetsPackages) beets beets-unstable; |