summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Schütz <nix@dotlambda.de>2021-12-31 11:22:19 +0000
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-01-01 02:09:10 +0100
commitf8b4cf08fecdd4caa638ce5d00ac5b583308dafb (patch)
treedeb8f8059b15da4d1aeb46d31c2a16355cc48cff
parent8b1a66ba0ca41783d6ccc2464d006629e207308a (diff)
downloadnixpkgs-f8b4cf08fecdd4caa638ce5d00ac5b583308dafb.tar
nixpkgs-f8b4cf08fecdd4caa638ce5d00ac5b583308dafb.tar.gz
nixpkgs-f8b4cf08fecdd4caa638ce5d00ac5b583308dafb.tar.bz2
nixpkgs-f8b4cf08fecdd4caa638ce5d00ac5b583308dafb.tar.lz
nixpkgs-f8b4cf08fecdd4caa638ce5d00ac5b583308dafb.tar.xz
nixpkgs-f8b4cf08fecdd4caa638ce5d00ac5b583308dafb.tar.zst
nixpkgs-f8b4cf08fecdd4caa638ce5d00ac5b583308dafb.zip
syncserver, nixos/syncserver: remove
They have been broken for multiple releases.
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/services/networking/firefox/sync-server.nix183
-rw-r--r--pkgs/servers/syncserver/default.nix47
-rw-r--r--pkgs/top-level/all-packages.nix2
5 files changed, 1 insertions, 235 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index c4aae9553c8..955355e9e60 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -739,7 +739,6 @@
   ./services/networking/eternal-terminal.nix
   ./services/networking/fakeroute.nix
   ./services/networking/ferm.nix
-  ./services/networking/firefox/sync-server.nix
   ./services/networking/fireqos.nix
   ./services/networking/firewall.nix
   ./services/networking/flannel.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index c290741da04..292f613084f 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -21,8 +21,7 @@ with lib;
     (mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
     (mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "deepin" ] "The corresponding packages were removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "firefox" "syncserver" "user" ] "")
-    (mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "")
+    (mkRemovedOptionModule [ "services" "firefox" "syncserver" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "moinmoin" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "mesos" ] "The corresponding package was removed from nixpkgs.")
diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix
deleted file mode 100644
index 1ad573abfca..00000000000
--- a/nixos/modules/services/networking/firefox/sync-server.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.firefox.syncserver;
-
-  defaultDbLocation = "/var/db/firefox-sync-server/firefox-sync-server.db";
-  defaultSqlUri = "sqlite:///${defaultDbLocation}";
-
-  syncServerIni = pkgs.writeText "syncserver.ini" ''
-    [DEFAULT]
-    overrides = ${cfg.privateConfig}
-
-    [server:main]
-    use = egg:gunicorn
-    host = ${cfg.listen.address}
-    port = ${toString cfg.listen.port}
-
-    [app:main]
-    use = egg:syncserver
-
-    [syncserver]
-    public_url = ${cfg.publicUrl}
-    ${optionalString (cfg.sqlUri != "") "sqluri = ${cfg.sqlUri}"}
-    allow_new_users = ${boolToString cfg.allowNewUsers}
-
-    [browserid]
-    backend = tokenserver.verifiers.LocalVerifier
-    audiences = ${removeSuffix "/" cfg.publicUrl}
-  '';
-
-  user = "syncserver";
-  group = "syncserver";
-in
-
-{
-  meta.maintainers = with lib.maintainers; [ nadrieril ];
-
-  options = {
-    services.firefox.syncserver = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable a Firefox Sync Server, this give the opportunity to
-          Firefox users to store all synchronized data on their own server. To use this
-          server, Firefox users should visit the <option>about:config</option>, and
-          replicate the following change
-
-          <screen>
-          services.sync.tokenServerURI: http://localhost:5000/token/1.0/sync/1.5
-          </screen>
-
-          where <option>http://localhost:5000/</option> corresponds to the
-          public url of the server.
-        '';
-      };
-
-      listen.address = mkOption {
-        type = types.str;
-        default = "127.0.0.1";
-        example = "0.0.0.0";
-        description = ''
-          Address on which the sync server listen to.
-        '';
-      };
-
-      listen.port = mkOption {
-        type = types.port;
-        default = 5000;
-        description = ''
-          Port on which the sync server listen to.
-        '';
-      };
-
-      publicUrl = mkOption {
-        type = types.str;
-        default = "http://localhost:5000/";
-        example = "http://sync.example.com/";
-        description = ''
-          Public URL with which firefox users can use to access the sync server.
-        '';
-      };
-
-      allowNewUsers = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Whether to allow new-user signups on the server. Only request by
-          existing accounts will be honored.
-        '';
-      };
-
-      sqlUri = mkOption {
-        type = types.str;
-        default = defaultSqlUri;
-        example = "postgresql://scott:tiger@localhost/test";
-        description = ''
-          The location of the database. This URL is composed of
-          <option>dialect[+driver]://user:password@host/dbname[?key=value..]</option>,
-          where <option>dialect</option> is a database name such as
-          <option>mysql</option>, <option>oracle</option>, <option>postgresql</option>,
-          etc., and <option>driver</option> the name of a DBAPI, such as
-          <option>psycopg2</option>, <option>pyodbc</option>, <option>cx_oracle</option>,
-          etc. The <link
-          xlink:href="http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html#database-urls">
-          SQLAlchemy documentation</link> provides more examples and describe the syntax of
-          the expected URL.
-        '';
-      };
-
-      privateConfig = mkOption {
-        type = types.str;
-        default = "/etc/firefox/syncserver-secret.ini";
-        description = ''
-          The private config file is used to extend the generated config with confidential
-          information, such as the <option>syncserver.sqlUri</option> setting if it contains a
-          password, and the <option>syncserver.secret</option> setting is used by the server to
-          generate cryptographically-signed authentication tokens.
-
-          If this file does not exist, then it is created with a generated
-          <option>syncserver.secret</option> settings.
-       '';
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-
-    systemd.services.syncserver = {
-      after = [ "network.target" ];
-      description = "Firefox Sync Server";
-      wantedBy = [ "multi-user.target" ];
-      path = [
-        pkgs.coreutils
-        (pkgs.python.withPackages (ps: [ pkgs.syncserver ps.gunicorn ]))
-      ];
-
-      serviceConfig = {
-        User = user;
-        Group = group;
-        PermissionsStartOnly = true;
-      };
-
-      preStart = ''
-        if ! test -e ${cfg.privateConfig}; then
-          mkdir -p $(dirname ${cfg.privateConfig})
-          echo  > ${cfg.privateConfig} '[syncserver]'
-          chmod 600 ${cfg.privateConfig}
-          echo >> ${cfg.privateConfig} "secret = $(head -c 20 /dev/urandom | sha1sum | tr -d ' -')"
-        fi
-        chmod 600 ${cfg.privateConfig}
-        chmod 755 $(dirname ${cfg.privateConfig})
-        chown ${user}:${group} ${cfg.privateConfig}
-
-      '' + optionalString (cfg.sqlUri == defaultSqlUri) ''
-        if ! test -e $(dirname ${defaultDbLocation}); then
-          mkdir -m 700 -p $(dirname ${defaultDbLocation})
-          chown ${user}:${group} $(dirname ${defaultDbLocation})
-        fi
-
-        # Move previous database file if it exists
-        oldDb="/var/db/firefox-sync-server.db"
-        if test -f $oldDb; then
-          mv $oldDb ${defaultDbLocation}
-          chown ${user}:${group} ${defaultDbLocation}
-        fi
-      '';
-
-      script = ''
-        gunicorn --paste ${syncServerIni}
-      '';
-    };
-
-    users.users.${user} = {
-      inherit group;
-      isSystemUser = true;
-    };
-
-    users.groups.${group} = {};
-  };
-}
diff --git a/pkgs/servers/syncserver/default.nix b/pkgs/servers/syncserver/default.nix
deleted file mode 100644
index 24c093fde50..00000000000
--- a/pkgs/servers/syncserver/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, python2
-, fetchFromGitHub
-}:
-
-let
-  python = python2.override {
-    packageOverrides = self: super: {
-      # Older version, used by syncserver, tokenserver and serversyncstorage
-      cornice = super.cornice.overridePythonAttrs (oldAttrs: rec {
-        version = "0.17";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1vvymhf6ydc885ygqiqpa39xr9v302i1l6nzirjnczqy9llyqvpj";
-        };
-      });
-    };
-  };
-
-# buildPythonPackage is necessary for syncserver to work with gunicorn or paster scripts
-in python.pkgs.buildPythonPackage rec {
-  pname = "syncserver";
-  version = "1.8.0";
-
-  src = fetchFromGitHub {
-    owner = "mozilla-services";
-    repo = "syncserver";
-    rev = version;
-    sha256 = "0hxjns9hz7a8r87iqr1yfvny4vwj1rlhwcf8bh7j6lsf92mkmgy8";
-  };
-
-  # There are no tests
-  doCheck = false;
-
-  propagatedBuildInputs = with python.pkgs; [
-    cornice gunicorn pyramid requests simplejson sqlalchemy mozsvc tokenserver
-    serversyncstorage configparser
-  ];
-
-  meta = with lib; {
-    description = "Run-Your-Own Firefox Sync Server";
-    homepage = "https://github.com/mozilla-services/syncserver";
-    platforms = platforms.unix;
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ nadrieril ];
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e945605b0f2..5718bda2e7f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21806,8 +21806,6 @@ with pkgs;
 
   systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { };
 
-  syncserver = callPackage ../servers/syncserver { };
-
   tailscale = callPackage ../servers/tailscale {
     buildGoModule = buildGo117Module;
   };