riak, nixos/riak: remove

Riak have been updated a lot since the version 2.2 (now 3.0.10) but
has seen no updated to the package. This is at this point
a problem forcing us to maintain old versions of erlang.

We would be happy to re accept a newer version of Riak if someone want
to spend the time to set it up.
main
Thomas Depierre 2 years ago committed by Yt
parent 5cb04284cb
commit fc658c86f7
  1. 7
      nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
  2. 2
      nixos/doc/manual/release-notes/rl-2211.section.md
  3. 4
      nixos/modules/misc/ids.nix
  4. 1
      nixos/modules/module-list.nix
  5. 1
      nixos/modules/rename.nix
  6. 162
      nixos/modules/services/databases/riak.nix
  7. 1
      nixos/tests/all-tests.nix
  8. 18
      nixos/tests/riak.nix
  9. 106
      pkgs/servers/nosql/riak/2.2.0.nix
  10. 1
      pkgs/top-level/aliases.nix
  11. 4
      pkgs/top-level/all-packages.nix

@ -233,6 +233,13 @@
this version for the entire lifecycle of the 22.11 release.
</para>
</listitem>
<listitem>
<para>
riak package removed along with
<literal>services.riak</literal> module, due to lack of
maintainer to update the package.
</para>
</listitem>
<listitem>
<para>
(Neo)Vim can not be configured with

@ -93,6 +93,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- PHP 7.4 is no longer supported due to upstream not supporting this
version for the entire lifecycle of the 22.11 release.
- riak package removed along with `services.riak` module, due to lack of maintainer to update the package.
- (Neo)Vim can not be configured with `configure.pathogen` anymore to reduce maintainance burden.
Use `configure.packages` instead.

@ -236,7 +236,7 @@ in
gitit = 202;
riemanntools = 203;
subsonic = 204;
riak = 205;
# riak = 205; # unused, remove 2022-07-22
#shout = 206; # dynamically allocated as of 2021-09-18
gateone = 207;
namecoin = 208;
@ -553,7 +553,7 @@ in
gitit = 202;
riemanntools = 203;
subsonic = 204;
riak = 205;
# riak = 205;#unused, removed 2022-06-22
#shout = 206; #unused
gateone = 207;
namecoin = 208;

@ -365,7 +365,6 @@
./services/databases/pgmanage.nix
./services/databases/postgresql.nix
./services/databases/redis.nix
./services/databases/riak.nix
./services/databases/victoriametrics.nix
./services/desktops/accountsservice.nix
./services/desktops/bamf.nix

@ -97,6 +97,7 @@ with lib;
(mkRemovedOptionModule [ "services" "gogoclient" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "virtuoso" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "openfire" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "riak" ] "The corresponding package was removed from nixpkgs.")
# Do NOT add any option renames here, see top of the file
];

@ -1,162 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.riak;
in
{
###### interface
options = {
services.riak = {
enable = mkEnableOption "riak";
package = mkOption {
type = types.package;
default = pkgs.riak;
defaultText = literalExpression "pkgs.riak";
description = ''
Riak package to use.
'';
};
nodeName = mkOption {
type = types.str;
default = "riak@127.0.0.1";
description = ''
Name of the Erlang node.
'';
};
distributedCookie = mkOption {
type = types.str;
default = "riak";
description = ''
Cookie for distributed node communication. All nodes in the
same cluster should use the same cookie or they will not be able to
communicate.
'';
};
dataDir = mkOption {
type = types.path;
default = "/var/db/riak";
description = ''
Data directory for Riak.
'';
};
logDir = mkOption {
type = types.path;
default = "/var/log/riak";
description = ''
Log directory for Riak.
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Additional text to be appended to <filename>riak.conf</filename>.
'';
};
extraAdvancedConfig = mkOption {
type = types.lines;
default = "";
description = ''
Additional text to be appended to <filename>advanced.config</filename>.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
environment.etc."riak/riak.conf".text = ''
nodename = ${cfg.nodeName}
distributed_cookie = ${cfg.distributedCookie}
platform_log_dir = ${cfg.logDir}
platform_etc_dir = /etc/riak
platform_data_dir = ${cfg.dataDir}
${cfg.extraConfig}
'';
environment.etc."riak/advanced.config".text = ''
${cfg.extraAdvancedConfig}
'';
users.users.riak = {
name = "riak";
uid = config.ids.uids.riak;
group = "riak";
description = "Riak server user";
};
users.groups.riak.gid = config.ids.gids.riak;
systemd.services.riak = {
description = "Riak Server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [
pkgs.util-linux # for `logger`
pkgs.bash
];
environment.HOME = "${cfg.dataDir}";
environment.RIAK_DATA_DIR = "${cfg.dataDir}";
environment.RIAK_LOG_DIR = "${cfg.logDir}";
environment.RIAK_ETC_DIR = "/etc/riak";
preStart = ''
if ! test -e ${cfg.logDir}; then
mkdir -m 0755 -p ${cfg.logDir}
chown -R riak ${cfg.logDir}
fi
if ! test -e ${cfg.dataDir}; then
mkdir -m 0700 -p ${cfg.dataDir}
chown -R riak ${cfg.dataDir}
fi
'';
serviceConfig = {
ExecStart = "${cfg.package}/bin/riak console";
ExecStop = "${cfg.package}/bin/riak stop";
StandardInput = "tty";
User = "riak";
Group = "riak";
PermissionsStartOnly = true;
# Give Riak a decent amount of time to clean up.
TimeoutStopSec = 120;
LimitNOFILE = 65536;
};
unitConfig.RequiresMountsFor = [
"${cfg.dataDir}"
"${cfg.logDir}"
"/etc/riak"
];
};
};
}

@ -472,7 +472,6 @@ in {
restartByActivationScript = handleTest ./restart-by-activation-script.nix {};
restic = handleTest ./restic.nix {};
retroarch = handleTest ./retroarch.nix {};
riak = handleTest ./riak.nix {};
robustirc-bridge = handleTest ./robustirc-bridge.nix {};
roundcube = handleTest ./roundcube.nix {};
rspamd = handleTest ./rspamd.nix {};

@ -1,18 +0,0 @@
import ./make-test-python.nix ({ lib, pkgs, ... }: {
name = "riak";
meta = with lib.maintainers; {
maintainers = [ Br1ght0ne ];
};
nodes.machine = {
services.riak.enable = true;
services.riak.package = pkgs.riak;
};
testScript = ''
machine.start()
machine.wait_for_unit("riak")
machine.wait_until_succeeds("riak ping 2>&1")
'';
})

@ -1,106 +0,0 @@
{ stdenv, lib, fetchurl, unzip, erlang, which, pam, nixosTests }:
let
solrName = "solr-4.10.4-yz-2.tgz";
yokozunaJarName = "yokozuna-3.jar";
yzMonitorJarName = "yz_monitor-1.jar";
srcs = {
riak = fetchurl {
url = "https://s3.amazonaws.com/downloads.basho.com/riak/2.2/2.2.0/riak-2.2.0.tar.gz";
sha256 = "0kl28bpyzajcllybili46jfr1schl45w5ysii187jr0ssgls2c9p";
};
solr = fetchurl {
url = "http://s3.amazonaws.com/files.basho.com/solr/${solrName}";
sha256 = "0fy5slnldn628gmr2kilyx606ph0iykf7pz6j0xjcc3wqvrixa2a";
};
yokozunaJar = fetchurl {
url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yokozunaJarName}";
sha256 = "17n6m100fz8affdcxsn4niw2lrpnswgfnd6aszgzipffwbg7v8v5";
};
yzMonitorJar = fetchurl {
url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yzMonitorJarName}";
sha256 = "0kb97d1a43vw759j1h5qwbhx455pidn2pi7sfxijqic37h81ri1m";
};
};
in
stdenv.mkDerivation {
pname = "riak";
version = "2.2.0";
nativeBuildInputs = [ unzip ];
buildInputs = [
which erlang pam
];
src = srcs.riak;
hardeningDisable = [ "format" ];
postPatch = ''
sed -i deps/node_package/priv/base/env.sh \
-e 's@{{platform_data_dir}}@''${RIAK_DATA_DIR:-/var/db/riak}@' \
-e 's@^RUNNER_SCRIPT_DIR=.*@RUNNER_SCRIPT_DIR='$out'/bin@' \
-e 's@^RUNNER_BASE_DIR=.*@RUNNER_BASE_DIR='$out'@' \
-e 's@^RUNNER_ETC_DIR=.*@RUNNER_ETC_DIR=''${RIAK_ETC_DIR:-/etc/riak}@' \
-e 's@^RUNNER_LOG_DIR=.*@RUNNER_LOG_DIR=''${RIAK_LOG_DIR:-/var/log}@'
'';
preBuild = ''
mkdir solr-pkg
cp ${srcs.solr} solr-pkg/${solrName}
export SOLR_PKG_DIR=$(readlink -f solr-pkg)
mkdir -p deps/yokozuna/priv/java_lib
cp ${srcs.yokozunaJar} deps/yokozuna/priv/java_lib/${yokozunaJarName}
mkdir -p deps/yokozuna/priv/solr/lib/ext
cp ${srcs.yzMonitorJar} deps/yokozuna/priv/solr/lib/ext/${yzMonitorJarName}
patchShebangs .
'';
buildPhase = ''
runHook preBuild
make locked-deps
make rel
runHook postBuild
'';
doCheck = false;
installPhase = ''
runHook preInstall
mkdir $out
mv rel/riak/etc rel/riak/riak-etc
mkdir -p rel/riak/etc
mv rel/riak/riak-etc rel/riak/etc/riak
mv rel/riak/* $out
for prog in $out/bin/*; do
substituteInPlace $prog \
--replace '. "`cd \`dirname $0\` && /bin/pwd`/../lib/env.sh"' \
". $out/lib/env.sh"
done
runHook postInstall
'';
passthru.tests = { inherit (nixosTests) riak; };
meta = with lib; {
maintainers = with maintainers; [ cstrahan mdaiter ];
description = "Dynamo inspired NoSQL DB by Basho";
platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # dependencies
];
license = licenses.asl20;
knownVulnerabilities = [ "CVE-2017-3163 - see https://github.com/NixOS/nixpkgs/issues/33876" ];
};
}

@ -1218,6 +1218,7 @@ mapAliases ({
retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19
retroshare06 = retroshare;
rfkill = throw "rfkill has been removed, as it's included in util-linux"; # Added 2020-08-23
riak = throw "riak has been removed due to lack of maintainer to update the package"; # Added 2022-06-22
riak-cs = throw "riak-cs is not maintained anymore"; # Added 2020-10-14
rimshot = throw "rimshot has been removed, because it is broken and no longer maintained upstream"; # Added 2022-01-15
ring-daemon = jami-daemon; # Added 2021-10-26

@ -22445,10 +22445,6 @@ with pkgs;
percona-server56 = callPackage ../servers/sql/percona/5.6.x.nix { stdenv = gcc10StdenvCompat; };
percona-server = percona-server56;
riak = callPackage ../servers/nosql/riak/2.2.0.nix {
erlang = erlang_basho_R16B02;
};
influxdb = callPackage ../servers/nosql/influxdb { };
influxdb2-server = callPackage ../servers/nosql/influxdb2 { };
influxdb2-cli = callPackage ../servers/nosql/influxdb2/cli.nix { };

Loading…
Cancel
Save