From eefaaf41d67ea28c3f70150958f6a29533dce709 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Sun, 24 Jul 2022 20:49:05 +0200 Subject: [PATCH] kubo: rename from ipfs Go-IPFS was renamed to Kubo in version 0.14.0, see https://github.com/ipfs/kubo/issues/8959. --- nixos/modules/module-list.nix | 2 +- .../{ipfs.nix => kubo.nix} | 65 +++++++++++++------ nixos/tests/all-tests.nix | 2 +- nixos/tests/{ipfs.nix => kubo.nix} | 6 +- .../networking/ipfs-migrator/default.nix | 23 ------- .../all-migrations.nix | 12 ++-- .../networking/kubo-migrator/default.nix | 23 +++++++ .../unwrapped.nix | 4 +- .../networking/{ipfs => kubo}/default.nix | 15 +++-- .../python-modules/ipfshttpclient/default.nix | 4 +- .../python-modules/ipwhl/default.nix | 4 +- pkgs/top-level/aliases.nix | 4 ++ pkgs/top-level/all-packages.nix | 15 +++-- 13 files changed, 104 insertions(+), 75 deletions(-) rename nixos/modules/services/network-filesystems/{ipfs.nix => kubo.nix} (75%) rename nixos/tests/{ipfs.nix => kubo.nix} (96%) delete mode 100644 pkgs/applications/networking/ipfs-migrator/default.nix rename pkgs/applications/networking/{ipfs-migrator => kubo-migrator}/all-migrations.nix (87%) create mode 100644 pkgs/applications/networking/kubo-migrator/default.nix rename pkgs/applications/networking/{ipfs-migrator => kubo-migrator}/unwrapped.nix (89%) rename pkgs/applications/networking/{ipfs => kubo}/default.nix (86%) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index dec66e395aad..edde5d6ab6d4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -721,7 +721,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 diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/kubo.nix similarity index 75% rename from nixos/modules/services/network-filesystems/ipfs.nix rename to nixos/modules/services/network-filesystems/kubo.nix index b9cf9ea882ff..9942e4e41ad6 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/kubo.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" ]) + ]; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 36c51b573100..efe1f10707c7 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -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; }; diff --git a/nixos/tests/ipfs.nix b/nixos/tests/kubo.nix similarity index 96% rename from nixos/tests/ipfs.nix rename to nixos/tests/kubo.nix index 024822745ada..e84a873a1a18 100644 --- a/nixos/tests/ipfs.nix +++ b/nixos/tests/kubo.nix @@ -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; diff --git a/pkgs/applications/networking/ipfs-migrator/default.nix b/pkgs/applications/networking/ipfs-migrator/default.nix deleted file mode 100644 index d8c5de150bb3..000000000000 --- a/pkgs/applications/networking/ipfs-migrator/default.nix +++ /dev/null @@ -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; -} diff --git a/pkgs/applications/networking/ipfs-migrator/all-migrations.nix b/pkgs/applications/networking/kubo-migrator/all-migrations.nix similarity index 87% rename from pkgs/applications/networking/ipfs-migrator/all-migrations.nix rename to pkgs/applications/networking/kubo-migrator/all-migrations.nix index a376e9f895b1..a9197c9db5fb 100644 --- a/pkgs/applications/networking/ipfs-migrator/all-migrations.nix +++ b/pkgs/applications/networking/kubo-migrator/all-migrations.nix @@ -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; } diff --git a/pkgs/applications/networking/kubo-migrator/default.nix b/pkgs/applications/networking/kubo-migrator/default.nix new file mode 100644 index 000000000000..e45cbf84d524 --- /dev/null +++ b/pkgs/applications/networking/kubo-migrator/default.nix @@ -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; +} diff --git a/pkgs/applications/networking/ipfs-migrator/unwrapped.nix b/pkgs/applications/networking/kubo-migrator/unwrapped.nix similarity index 89% rename from pkgs/applications/networking/ipfs-migrator/unwrapped.nix rename to pkgs/applications/networking/kubo-migrator/unwrapped.nix index c8ade793218f..a99ab2b2cbb6 100644 --- a/pkgs/applications/networking/ipfs-migrator/unwrapped.nix +++ b/pkgs/applications/networking/kubo-migrator/unwrapped.nix @@ -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 ]; diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/kubo/default.nix similarity index 86% rename from pkgs/applications/networking/ipfs/default.nix rename to pkgs/applications/networking/kubo/default.nix index 6054bca1d8ad..dc6f1edd574d 100644 --- a/pkgs/applications/networking/ipfs/default.nix +++ b/pkgs/applications/networking/kubo/default.nix @@ -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 ]; }; } diff --git a/pkgs/development/python-modules/ipfshttpclient/default.nix b/pkgs/development/python-modules/ipfshttpclient/default.nix index 6af860a39805..71e0194a6b2f 100644 --- a/pkgs/development/python-modules/ipfshttpclient/default.nix +++ b/pkgs/development/python-modules/ipfshttpclient/default.nix @@ -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 ]; diff --git a/pkgs/development/python-modules/ipwhl/default.nix b/pkgs/development/python-modules/ipwhl/default.nix index 8bbf257ebdcf..6ccb1dabebb3 100644 --- a/pkgs/development/python-modules/ipwhl/default.nix +++ b/pkgs/development/python-modules/ipwhl/default.nix @@ -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" ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 891f83f1a61d..abe58292c630 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -515,6 +515,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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 80f7c717a3da..5f6efdc5c27a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7830,17 +7830,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 { }; @@ -8185,6 +8178,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 { };