mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
Merge pull request #183349 from Luflosi/rename-ipfs-to-kubo
This commit is contained in:
commit
b70049a463
13 changed files with 104 additions and 75 deletions
|
@ -722,7 +722,7 @@
|
|||
./services/network-filesystems/drbd.nix
|
||||
./services/network-filesystems/glusterfs.nix
|
||||
./services/network-filesystems/kbfs.nix
|
||||
./services/network-filesystems/ipfs.nix
|
||||
./services/network-filesystems/kubo.nix
|
||||
./services/network-filesystems/litestream/default.nix
|
||||
./services/network-filesystems/netatalk.nix
|
||||
./services/network-filesystems/nfsd.nix
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ config, lib, pkgs, utils, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.ipfs;
|
||||
cfg = config.services.kubo;
|
||||
|
||||
ipfsFlags = utils.escapeSystemdExecArgs (
|
||||
kuboFlags = utils.escapeSystemdExecArgs (
|
||||
optional cfg.autoMount "--mount" ++
|
||||
optional cfg.enableGC "--enable-gc" ++
|
||||
optional (cfg.serviceFdlimit != null) "--manage-fdlimit=false" ++
|
||||
|
@ -50,27 +50,27 @@ in
|
|||
|
||||
options = {
|
||||
|
||||
services.ipfs = {
|
||||
services.kubo = {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "Interplanetary File System (WARNING: may cause severe network degredation)");
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.ipfs;
|
||||
defaultText = literalExpression "pkgs.ipfs";
|
||||
description = lib.mdDoc "Which IPFS package to use.";
|
||||
default = pkgs.kubo;
|
||||
defaultText = literalExpression "pkgs.kubo";
|
||||
description = lib.mdDoc "Which Kubo package to use.";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "ipfs";
|
||||
description = lib.mdDoc "User under which the IPFS daemon runs";
|
||||
description = lib.mdDoc "User under which the Kubo daemon runs";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "ipfs";
|
||||
description = lib.mdDoc "Group under which the IPFS daemon runs";
|
||||
description = lib.mdDoc "Group under which the Kubo daemon runs";
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
|
@ -84,7 +84,7 @@ in
|
|||
then "/var/lib/ipfs"
|
||||
else "/var/lib/ipfs/.ipfs"
|
||||
'';
|
||||
description = lib.mdDoc "The data dir for IPFS";
|
||||
description = lib.mdDoc "The data dir for Kubo";
|
||||
};
|
||||
|
||||
defaultMode = mkOption {
|
||||
|
@ -96,13 +96,13 @@ in
|
|||
autoMount = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Whether IPFS should try to mount /ipfs and /ipns at startup.";
|
||||
description = lib.mdDoc "Whether Kubo should try to mount /ipfs and /ipns at startup.";
|
||||
};
|
||||
|
||||
autoMigrate = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc "Whether IPFS should try to run the fs-repo-migration at startup.";
|
||||
description = lib.mdDoc "Whether Kubo should try to run the fs-repo-migration at startup.";
|
||||
};
|
||||
|
||||
ipfsMountDir = mkOption {
|
||||
|
@ -126,7 +126,7 @@ in
|
|||
apiAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "/ip4/127.0.0.1/tcp/5001";
|
||||
description = lib.mdDoc "Where IPFS exposes its API to";
|
||||
description = lib.mdDoc "Where Kubo exposes its API to";
|
||||
};
|
||||
|
||||
swarmAddress = mkOption {
|
||||
|
@ -137,7 +137,7 @@ in
|
|||
"/ip4/0.0.0.0/udp/4001/quic"
|
||||
"/ip6/::/udp/4001/quic"
|
||||
];
|
||||
description = lib.mdDoc "Where IPFS listens for incoming p2p connections";
|
||||
description = lib.mdDoc "Where Kubo listens for incoming p2p connections";
|
||||
};
|
||||
|
||||
enableGC = mkOption {
|
||||
|
@ -174,14 +174,14 @@ in
|
|||
|
||||
extraFlags = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = lib.mdDoc "Extra flags passed to the IPFS daemon";
|
||||
description = lib.mdDoc "Extra flags passed to the Kubo daemon";
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
localDiscovery = mkOption {
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''Whether to enable local discovery for the ipfs daemon.
|
||||
This will allow ipfs to scan ports on your local network. Some hosting services will ban you if you do this.
|
||||
description = lib.mdDoc ''Whether to enable local discovery for the Kubo daemon.
|
||||
This will allow Kubo to scan ports on your local network. Some hosting services will ban you if you do this.
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
|
@ -189,14 +189,14 @@ in
|
|||
serviceFdlimit = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = lib.mdDoc "The fdlimit for the IPFS systemd unit or `null` to have the daemon attempt to manage it";
|
||||
description = lib.mdDoc "The fdlimit for the Kubo systemd unit or `null` to have the daemon attempt to manage it";
|
||||
example = 64 * 1024;
|
||||
};
|
||||
|
||||
startWhenNeeded = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Whether to use socket activation to start IPFS when needed.";
|
||||
description = lib.mdDoc "Whether to use socket activation to start Kubo when needed.";
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -223,7 +223,7 @@ in
|
|||
uid = config.ids.uids.ipfs;
|
||||
description = "IPFS daemon user";
|
||||
packages = [
|
||||
pkgs.ipfs-migrator
|
||||
pkgs.kubo-migrator
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -255,7 +255,7 @@ in
|
|||
# After an unclean shutdown this file may exist which will cause the config command to attempt to talk to the daemon. This will hang forever if systemd is holding our sockets open.
|
||||
rm -vf "$IPFS_PATH/api"
|
||||
'' + optionalString cfg.autoMigrate ''
|
||||
${pkgs.ipfs-migrator}/bin/fs-repo-migrations -to '${cfg.package.repoVersion}' -y
|
||||
${pkgs.kubo-migrator}/bin/fs-repo-migrations -to '${cfg.package.repoVersion}' -y
|
||||
'' + ''
|
||||
ipfs --offline config profile apply ${profile} >/dev/null
|
||||
fi
|
||||
|
@ -279,7 +279,7 @@ in
|
|||
| ipfs --offline config replace -
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}" ];
|
||||
ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${kuboFlags}" ];
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "";
|
||||
|
@ -320,4 +320,27 @@ in
|
|||
meta = {
|
||||
maintainers = with lib.maintainers; [ Luflosi ];
|
||||
};
|
||||
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "enable" ] [ "services" "kubo" "enable" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "package" ] [ "services" "kubo" "package" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "user" ] [ "services" "kubo" "user" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "group" ] [ "services" "kubo" "group" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "dataDir" ] [ "services" "kubo" "dataDir" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "defaultMode" ] [ "services" "kubo" "defaultMode" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "autoMount" ] [ "services" "kubo" "autoMount" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "autoMigrate" ] [ "services" "kubo" "autoMigrate" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "ipfsMountDir" ] [ "services" "kubo" "ipfsMountDir" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "ipnsMountDir" ] [ "services" "kubo" "ipnsMountDir" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "gatewayAddress" ] [ "services" "kubo" "gatewayAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "apiAddress" ] [ "services" "kubo" "apiAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "swarmAddress" ] [ "services" "kubo" "swarmAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "enableGC" ] [ "services" "kubo" "enableGC" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "emptyRepo" ] [ "services" "kubo" "emptyRepo" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "extraConfig" ] [ "services" "kubo" "extraConfig" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "extraFlags" ] [ "services" "kubo" "extraFlags" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "localDiscovery" ] [ "services" "kubo" "localDiscovery" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "serviceFdlimit" ] [ "services" "kubo" "serviceFdlimit" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "startWhenNeeded" ] [ "services" "kubo" "startWhenNeeded" ])
|
||||
];
|
||||
}
|
|
@ -284,7 +284,6 @@ in {
|
|||
installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix {};
|
||||
invoiceplane = handleTest ./invoiceplane.nix {};
|
||||
iodine = handleTest ./iodine.nix {};
|
||||
ipfs = handleTest ./ipfs.nix {};
|
||||
ipv6 = handleTest ./ipv6.nix {};
|
||||
iscsi-multipath-root = handleTest ./iscsi-multipath-root.nix {};
|
||||
iscsi-root = handleTest ./iscsi-root.nix {};
|
||||
|
@ -317,6 +316,7 @@ in {
|
|||
ksm = handleTest ./ksm.nix {};
|
||||
kthxbye = handleTest ./kthxbye.nix {};
|
||||
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
|
||||
kubo = handleTest ./kubo.nix {};
|
||||
ladybird = handleTest ./ladybird.nix {};
|
||||
languagetool = handleTest ./languagetool.nix {};
|
||||
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "ipfs";
|
||||
name = "kubo";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ mguentner ];
|
||||
};
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
services.ipfs = {
|
||||
services.kubo = {
|
||||
enable = true;
|
||||
# Also will add a unix domain socket socket API address, see module.
|
||||
startWhenNeeded = true;
|
||||
|
@ -15,7 +15,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
};
|
||||
|
||||
nodes.fuse = { ... }: {
|
||||
services.ipfs = {
|
||||
services.kubo = {
|
||||
enable = true;
|
||||
apiAddress = "/ip4/127.0.0.1/tcp/2324";
|
||||
autoMount = true;
|
|
@ -1,23 +0,0 @@
|
|||
{ lib
|
||||
, buildEnv
|
||||
, makeWrapper
|
||||
, ipfs-migrator-unwrapped
|
||||
, ipfs-migrator-all-fs-repo-migrations
|
||||
}:
|
||||
|
||||
buildEnv {
|
||||
name = "ipfs-migrator-${ipfs-migrator-unwrapped.version}";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
paths = [ ipfs-migrator-unwrapped ];
|
||||
|
||||
pathsToLink = [ "/bin" ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram "$out/bin/fs-repo-migrations" \
|
||||
--prefix PATH ':' '${lib.makeBinPath [ ipfs-migrator-all-fs-repo-migrations ]}'
|
||||
'';
|
||||
|
||||
inherit (ipfs-migrator-unwrapped) meta;
|
||||
}
|
|
@ -2,23 +2,23 @@
|
|||
, stdenv
|
||||
, symlinkJoin
|
||||
, buildGoModule
|
||||
, ipfs-migrator-unwrapped
|
||||
, kubo-migrator-unwrapped
|
||||
}:
|
||||
|
||||
# This package contains all the individual migrations in the bin directory.
|
||||
# This is used by fs-repo-migrations and could also be used by IPFS itself
|
||||
# This is used by fs-repo-migrations and could also be used by Kubo itself
|
||||
# when starting it like this: ipfs daemon --migrate
|
||||
|
||||
let
|
||||
fs-repo-common = pname: version: buildGoModule {
|
||||
inherit pname version;
|
||||
inherit (ipfs-migrator-unwrapped) src;
|
||||
inherit (kubo-migrator-unwrapped) src;
|
||||
sourceRoot = "source/${pname}";
|
||||
vendorSha256 = null;
|
||||
doCheck = false;
|
||||
meta = ipfs-migrator-unwrapped.meta // {
|
||||
meta = kubo-migrator-unwrapped.meta // {
|
||||
mainProgram = pname;
|
||||
description = "Individual migration for the filesystem repository of ipfs clients";
|
||||
description = "Individual migration for the filesystem repository of Kubo clients";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -58,6 +58,6 @@ let
|
|||
in
|
||||
|
||||
symlinkJoin {
|
||||
name = "ipfs-migrator-all-fs-repo-migrations-${version}";
|
||||
name = "kubo-migrator-all-fs-repo-migrations-${version}";
|
||||
paths = all-migrations;
|
||||
}
|
23
pkgs/applications/networking/kubo-migrator/default.nix
Normal file
23
pkgs/applications/networking/kubo-migrator/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib
|
||||
, buildEnv
|
||||
, makeWrapper
|
||||
, kubo-migrator-unwrapped
|
||||
, kubo-migrator-all-fs-repo-migrations
|
||||
}:
|
||||
|
||||
buildEnv {
|
||||
name = "kubo-migrator-${kubo-migrator-unwrapped.version}";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
paths = [ kubo-migrator-unwrapped ];
|
||||
|
||||
pathsToLink = [ "/bin" ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram "$out/bin/fs-repo-migrations" \
|
||||
--prefix PATH ':' '${lib.makeBinPath [ kubo-migrator-all-fs-repo-migrations ]}'
|
||||
'';
|
||||
|
||||
inherit (kubo-migrator-unwrapped) meta;
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ipfs-migrator";
|
||||
pname = "kubo-migrator";
|
||||
version = "2.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
@ -26,7 +26,7 @@ buildGoModule rec {
|
|||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Migrations for the filesystem repository of ipfs clients";
|
||||
description = "Migrations for the filesystem repository of Kubo clients";
|
||||
homepage = "https://github.com/ipfs/fs-repo-migrations";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Luflosi elitak ];
|
|
@ -1,13 +1,13 @@
|
|||
{ lib, buildGoModule, fetchurl, nixosTests, openssl, pkg-config }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ipfs";
|
||||
pname = "kubo";
|
||||
version = "0.15.0"; # When updating, also check if the repo version changed and adjust repoVersion below
|
||||
rev = "v${version}";
|
||||
|
||||
passthru.repoVersion = "12"; # Also update ipfs-migrator when changing the repo version
|
||||
passthru.repoVersion = "12"; # Also update kubo-migrator when changing the repo version
|
||||
|
||||
# go-ipfs makes changes to it's source tarball that don't match the git source.
|
||||
# Kubo makes changes to it's source tarball that don't match the git source.
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ipfs/kubo/releases/download/${rev}/kubo-source.tar.gz";
|
||||
hash = "sha256-GkOY1G2CKXbMbHXkw5v27HmfkJIl2nZOmjjZbzuaRWs=";
|
||||
|
@ -15,10 +15,10 @@ buildGoModule rec {
|
|||
|
||||
# tarball contains multiple files/directories
|
||||
postUnpack = ''
|
||||
mkdir ipfs-src
|
||||
mkdir kubo-src
|
||||
shopt -s extglob
|
||||
mv !(ipfs-src) ipfs-src || true
|
||||
cd ipfs-src
|
||||
mv !(kubo-src) kubo-src || true
|
||||
cd kubo-src
|
||||
'';
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -29,7 +29,7 @@ buildGoModule rec {
|
|||
nativeBuildInputs = [ pkg-config ];
|
||||
tags = [ "openssl" ];
|
||||
|
||||
passthru.tests.ipfs = nixosTests.ipfs;
|
||||
passthru.tests.kubo = nixosTests.kubo;
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
|
@ -57,6 +57,7 @@ buildGoModule rec {
|
|||
homepage = "https://ipfs.io/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "ipfs";
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
};
|
||||
}
|
|
@ -14,7 +14,7 @@
|
|||
, pytest-order
|
||||
, pytest-cid
|
||||
, mock
|
||||
, ipfs
|
||||
, kubo
|
||||
, httpx
|
||||
, httpcore
|
||||
}:
|
||||
|
@ -46,7 +46,7 @@ buildPythonPackage rec {
|
|||
pytest-order
|
||||
pytest-cid
|
||||
mock
|
||||
ipfs
|
||||
kubo
|
||||
httpcore
|
||||
httpx
|
||||
];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut
|
||||
, ipfs, packaging, tomli }:
|
||||
, kubo, packaging, tomli }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ipwhl";
|
||||
|
@ -14,7 +14,7 @@ buildPythonPackage rec {
|
|||
sha256 = "sha256-YaIYcoUnbiv9wUOFIzGj2sWGbh7NsqRQcqOR2X6+QZA=";
|
||||
};
|
||||
|
||||
buildInputs = [ ipfs ];
|
||||
buildInputs = [ kubo ];
|
||||
propagatedBuildInputs = [ packaging tomli ];
|
||||
doCheck = false; # there's no test
|
||||
pythonImportsCheck = [ "ipwhl" ];
|
||||
|
|
|
@ -516,6 +516,10 @@ mapAliases ({
|
|||
interfacer = throw "interfacer is deprecated and archived by upstream"; # Added 2022-04-05
|
||||
inter-ui = throw "'inter-ui' has been renamed to/replaced by 'inter'"; # Converted to throw 2022-09-24
|
||||
iops = throw "iops was removed: upstream is gone"; # Added 2022-02-06
|
||||
ipfs = kubo; # Added 2022-09-27
|
||||
ipfs-migrator-all-fs-repo-migrations = kubo-migrator-all-fs-repo-migrations; # Added 2022-09-27
|
||||
ipfs-migrator-unwrapped = kubo-migrator-unwrapped; # Added 2022-09-27
|
||||
ipfs-migrator = kubo-migrator; # Added 2022-09-27
|
||||
iproute = throw "'iproute' has been renamed to/replaced by 'iproute2'"; # Converted to throw 2022-09-24
|
||||
ipsecTools = throw "ipsecTools has benn removed, because it was no longer maintained upstream"; # Added 2021-12-15
|
||||
itch-setup = throw "itch-setup has benn removed, use itch instead"; # Added 2022-06-02
|
||||
|
|
|
@ -7838,17 +7838,10 @@ with pkgs;
|
|||
|
||||
ipfetch = callPackage ../tools/networking/ipfetch { };
|
||||
|
||||
ipfs = callPackage ../applications/networking/ipfs {
|
||||
openssl = openssl_1_1;
|
||||
};
|
||||
ipfs-cluster = callPackage ../applications/networking/ipfs-cluster {
|
||||
buildGoModule = buildGo119Module;
|
||||
};
|
||||
|
||||
ipfs-migrator-all-fs-repo-migrations = callPackage ../applications/networking/ipfs-migrator/all-migrations.nix { };
|
||||
ipfs-migrator-unwrapped = callPackage ../applications/networking/ipfs-migrator/unwrapped.nix { };
|
||||
ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { };
|
||||
|
||||
ipfs-upload-client = callPackage ../applications/networking/ipfs-upload-client { };
|
||||
|
||||
ipget = callPackage ../applications/networking/ipget { };
|
||||
|
@ -8193,6 +8186,14 @@ with pkgs;
|
|||
|
||||
kubergrunt = callPackage ../applications/networking/cluster/kubergrunt { };
|
||||
|
||||
kubo = callPackage ../applications/networking/kubo {
|
||||
openssl = openssl_1_1;
|
||||
};
|
||||
|
||||
kubo-migrator-all-fs-repo-migrations = callPackage ../applications/networking/kubo-migrator/all-migrations.nix { };
|
||||
kubo-migrator-unwrapped = callPackage ../applications/networking/kubo-migrator/unwrapped.nix { };
|
||||
kubo-migrator = callPackage ../applications/networking/kubo-migrator { };
|
||||
|
||||
kwalletcli = libsForQt5.callPackage ../tools/security/kwalletcli { };
|
||||
|
||||
peruse = libsForQt5.callPackage ../tools/misc/peruse { };
|
||||
|
|
Loading…
Reference in a new issue