diff options
author | Guillaume Girol <symphorien@users.noreply.github.com> | 2022-07-31 11:23:09 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 11:23:09 +0000 |
commit | 479522bd60160434b776da1e3abe2595b3ab136f (patch) | |
tree | a87a91b6272556b8422d7bbf38383d541dd95e74 | |
parent | 33c5f1b8315d2edec8f02f6bf337ee85b146e896 (diff) | |
parent | 070ce98ddaa40c86aa0d72f868b155a62bc2d360 (diff) |
Merge pull request #178873 from greizgh/update-seafile
Fix broken seafile
-rw-r--r-- | nixos/modules/services/networking/seafile.nix | 22 | ||||
-rw-r--r-- | pkgs/applications/networking/seahub/default.nix | 13 | ||||
-rw-r--r-- | pkgs/servers/seafile-server/default.nix | 6 |
3 files changed, 28 insertions, 13 deletions
diff --git a/nixos/modules/services/networking/seafile.nix b/nixos/modules/services/networking/seafile.nix index 2839ffb60a1fd..16cea1cfbbfae 100644 --- a/nixos/modules/services/networking/seafile.nix +++ b/nixos/modules/services/networking/seafile.nix @@ -19,6 +19,8 @@ let MEDIA_ROOT = '${seahubDir}/media/' THUMBNAIL_ROOT = '${seahubDir}/thumbnail/' + SERVICE_URL = '${cfg.ccnetSettings.General.SERVICE_URL}' + with open('${seafRoot}/.seahubSecret') as f: SECRET_KEY = f.readline().rstrip() @@ -177,6 +179,7 @@ in { after = [ "network.target" ]; wantedBy = [ "seafile.target" ]; restartTriggers = [ ccnetConf seafileConf ]; + path = [ pkgs.sqlite ]; serviceConfig = securityOptions // { User = "seafile"; Group = "seafile"; @@ -200,11 +203,11 @@ in { if [ ! -f "${seafRoot}/server-setup" ]; then mkdir -p ${dataDir}/library-template mkdir -p ${ccnetDir}/{GroupMgr,misc,OrgMgr,PeerMgr} - ${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/GroupMgr/groupmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/groupmgr.sql" - ${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/misc/config.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/config.sql" - ${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/OrgMgr/orgmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/org.sql" - ${pkgs.sqlite}/bin/sqlite3 ${ccnetDir}/PeerMgr/usermgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/user.sql" - ${pkgs.sqlite}/bin/sqlite3 ${dataDir}/seafile.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/seafile.sql" + sqlite3 ${ccnetDir}/GroupMgr/groupmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/groupmgr.sql" + sqlite3 ${ccnetDir}/misc/config.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/config.sql" + sqlite3 ${ccnetDir}/OrgMgr/orgmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/org.sql" + sqlite3 ${ccnetDir}/PeerMgr/usermgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/user.sql" + sqlite3 ${dataDir}/seafile.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/seafile.sql" echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup fi # checking for upgrades and handling them @@ -213,7 +216,14 @@ in { installedMinor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f2) pkgMajor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f1) pkgMinor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f2) - if [ $installedMajor != $pkgMajor ] || [ $installedMinor != $pkgMinor ]; then + + if [[ $installedMajor == $pkgMajor && $installedMinor == $pkgMinor ]]; then + : + elif [[ $installedMajor == 8 && $installedMinor == 0 && $pkgMajor == 9 && $pkgMinor == 0 ]]; then + # Upgrade from 8.0 to 9.0 + sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/9.0.0/sqlite3/seafile.sql" + echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup + else echo "Unsupported upgrade" >&2 exit 1 fi diff --git a/pkgs/applications/networking/seahub/default.nix b/pkgs/applications/networking/seahub/default.nix index 1338f3e56f8ef..235b3026a6d26 100644 --- a/pkgs/applications/networking/seahub/default.nix +++ b/pkgs/applications/networking/seahub/default.nix @@ -2,6 +2,7 @@ , fetchFromGitHub , python3 , makeWrapper +, nixosTests }: let # Seahub 8.x.x does not support django-webpack-loader >=1.x.x @@ -19,13 +20,13 @@ let in python.pkgs.buildPythonApplication rec { pname = "seahub"; - version = "8.0.8"; + version = "9.0.6"; src = fetchFromGitHub { owner = "haiwen"; repo = "seahub"; - rev = "c51346155b2f31e038c3a2a12e69dcc6665502e2"; # using a fixed revision because upstream may re-tag releases :/ - sha256 = "0dagiifxllfk73xdzfw2g378jccpzplhdrmkwbaakbhgbvvkg92k"; + rev = "876b7ba9b680fc668e89706aff535593772ae921"; # using a fixed revision because upstream may re-tag releases :/ + sha256 = "sha256-GHvJlm5DVt3IVJnqJu8YobNNqbjdPd08s4DCdQQRQds="; }; dontBuild = true; @@ -52,6 +53,7 @@ python.pkgs.buildPythonApplication rec { openpyxl requests requests-oauthlib + chardet pyjwt pycryptodome qrcode @@ -68,7 +70,10 @@ python.pkgs.buildPythonApplication rec { passthru = { inherit python; - pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs; + pythonPath = python.pkgs.makePythonPath propagatedBuildInputs; + tests = { + inherit (nixosTests) seafile; + }; }; meta = with lib; { diff --git a/pkgs/servers/seafile-server/default.nix b/pkgs/servers/seafile-server/default.nix index 526bc456acc52..af3e8c4ea8c21 100644 --- a/pkgs/servers/seafile-server/default.nix +++ b/pkgs/servers/seafile-server/default.nix @@ -10,13 +10,13 @@ let }; in stdenv.mkDerivation rec { pname = "seafile-server"; - version = "8.0.8"; + version = "9.0.6"; src = fetchFromGitHub { owner = "haiwen"; repo = "seafile-server"; - rev = "807867afb7a86f526a6584278914ce9f3f51d1da"; - sha256 = "1nq6dw4xzifbyhxn7yn5398q2sip1p1xwqz6xbis4nzgx4jldd4g"; + rev = "881c270aa8d99ca6648e7aa1458fc283f38e6f31"; # using a fixed revision because upstream may re-tag releases :/ + sha256 = "sha256-M1jIysirtl1KKyEvScOIshLvSa5vjxTdFEARgy8bLTc="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; |