nextcloud20: drop
The version 20 of Nextcloud will be EOLed by the end of this month[1]. Since the recommended default (that didn't raise an eval-warning) on 21.05 was Nextcloud 21, this shouldn't affect too many people. In order to ensure that nobody does a (not working) upgrade across several major-versions of Nextcloud, I replaced the derivation of `nextcloud20` with a `throw` that provides instructions how to proceed. The only case that I consider "risky" is a setup upgraded from 21.05 (or older) with a `system.stateVersion` <21.11 and with `services.nextcloud.package` not explicitly declared in its config. To avoid that, I also left the `else-if` for `stateVersion < 21.03` which now sets `services.nextcloud.package` to `pkgs.nextcloud20` and thus leads to an eval-error. This condition can be removed as soon as 21.05 is EOL because then it's safe to assume that only 21.11. is used as stable release where no Nextcloud <=20 exists that can lead to such an issue. It can't be removed earlier because then every `system.stateVersion < 21.11` would lead to `nextcloud21` which is a problem if `nextcloud19` is still used. [1] https://docs.nextcloud.com/server/20/admin_manual/release_schedule.html
This commit is contained in:
parent
6b23e8fc78
commit
e1e15974f8
|
@ -1146,6 +1146,12 @@ Superuser created successfully.
|
||||||
will no longer work and must be updated.
|
will no longer work and must be updated.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Nextcloud 20 (<literal>pkgs.nextcloud20</literal>) has been
|
||||||
|
dropped because it was EOLed by upstream in 2021-10.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="sec-release-21.11-notable-changes">
|
<section xml:id="sec-release-21.11-notable-changes">
|
||||||
|
|
|
@ -354,6 +354,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
- The `services.mosquitto` module has been rewritten to support multiple listeners and per-listener configuration.
|
- The `services.mosquitto` module has been rewritten to support multiple listeners and per-listener configuration.
|
||||||
Module configurations from previous releases will no longer work and must be updated.
|
Module configurations from previous releases will no longer work and must be updated.
|
||||||
|
|
||||||
|
- Nextcloud 20 (`pkgs.nextcloud20`) has been dropped because it was EOLed by upstream in 2021-10.
|
||||||
|
|
||||||
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -153,7 +153,7 @@ in {
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
description = "Which package to use for the Nextcloud instance.";
|
description = "Which package to use for the Nextcloud instance.";
|
||||||
relatedPackages = [ "nextcloud20" "nextcloud21" "nextcloud22" ];
|
relatedPackages = [ "nextcloud21" "nextcloud22" ];
|
||||||
};
|
};
|
||||||
phpPackage = mkOption {
|
phpPackage = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
|
@ -547,7 +547,6 @@ in {
|
||||||
Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
|
Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
|
||||||
Please migrate your configuration to config.services.nextcloud.poolSettings.
|
Please migrate your configuration to config.services.nextcloud.poolSettings.
|
||||||
'')
|
'')
|
||||||
++ (optional (versionOlder cfg.package.version "20") (upgradeWarning 19 "21.05"))
|
|
||||||
++ (optional (versionOlder cfg.package.version "21") (upgradeWarning 20 "21.05"))
|
++ (optional (versionOlder cfg.package.version "21") (upgradeWarning 20 "21.05"))
|
||||||
++ (optional (versionOlder cfg.package.version "22") (upgradeWarning 21 "21.11"))
|
++ (optional (versionOlder cfg.package.version "22") (upgradeWarning 21 "21.11"))
|
||||||
++ (optional isUnsupportedMariadb ''
|
++ (optional isUnsupportedMariadb ''
|
||||||
|
@ -574,7 +573,11 @@ in {
|
||||||
# This versionOlder statement remains set to 21.03 for backwards compatibility.
|
# This versionOlder statement remains set to 21.03 for backwards compatibility.
|
||||||
# See https://github.com/NixOS/nixpkgs/pull/108899 and
|
# See https://github.com/NixOS/nixpkgs/pull/108899 and
|
||||||
# https://github.com/NixOS/rfcs/blob/master/rfcs/0080-nixos-release-schedule.md.
|
# https://github.com/NixOS/rfcs/blob/master/rfcs/0080-nixos-release-schedule.md.
|
||||||
else if versionOlder stateVersion "21.03" then nextcloud19
|
# FIXME(@Ma27) remove this else-if as soon as 21.05 is EOL! This is only here
|
||||||
|
# to ensure that users who are on Nextcloud 19 with a stateVersion <21.05 with
|
||||||
|
# no explicit services.nextcloud.package don't upgrade to v21 by accident (
|
||||||
|
# nextcloud20 throws an eval-error because it's dropped).
|
||||||
|
else if versionOlder stateVersion "21.03" then nextcloud20
|
||||||
else if versionOlder stateVersion "21.11" then nextcloud21
|
else if versionOlder stateVersion "21.11" then nextcloud21
|
||||||
else nextcloud22
|
else nextcloud22
|
||||||
);
|
);
|
||||||
|
|
|
@ -18,4 +18,4 @@ foldl
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
{}
|
{}
|
||||||
[ 20 21 22 ]
|
[ 21 22 ]
|
||||||
|
|
|
@ -33,20 +33,17 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
nextcloud19 = throw ''
|
nextcloud20 = throw ''
|
||||||
Nextcloud v19 has been removed from `nixpkgs` as the support for it was dropped
|
Nextcloud v20 has been removed from `nixpkgs` as the support for it was dropped
|
||||||
by upstream in 2021-06. Please upgrade to at least Nextcloud v20 by
|
by upstream in 2021-10. Please upgrade to at least Nextcloud v21 by declaring
|
||||||
declaring
|
|
||||||
|
|
||||||
services.nextcloud.package = pkgs.nextcloud20;
|
services.nextcloud.package = pkgs.nextcloud21;
|
||||||
|
|
||||||
in your NixOS config.
|
in your NixOS config.
|
||||||
'';
|
|
||||||
|
|
||||||
nextcloud20 = generic {
|
WARNING: if you were on Nextcloud 19 on NixOS 21.05 you have to upgrade to Nextcloud 20
|
||||||
version = "20.0.13";
|
first on 21.05 because Nextcloud doesn't support upgrades accross multiple major versions!
|
||||||
sha256 = "15mi51aayi3m8brxc0w51mbxp4h3hjv14gr5mm7ch2930x655gg9";
|
'';
|
||||||
};
|
|
||||||
|
|
||||||
nextcloud21 = generic {
|
nextcloud21 = generic {
|
||||||
version = "21.0.5";
|
version = "21.0.5";
|
||||||
|
|
|
@ -7768,7 +7768,7 @@ with pkgs;
|
||||||
grocy = callPackage ../servers/grocy { };
|
grocy = callPackage ../servers/grocy { };
|
||||||
|
|
||||||
inherit (callPackage ../servers/nextcloud {})
|
inherit (callPackage ../servers/nextcloud {})
|
||||||
nextcloud19 nextcloud20 nextcloud21 nextcloud22;
|
nextcloud20 nextcloud21 nextcloud22;
|
||||||
|
|
||||||
nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { };
|
nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue