Because the here-doc will be evaluated again by the shell, it will was
changed to avoid this. Because the script does not depend on such
function, it will be done in faviour of special characters.
As it's the default for __nextcloud_app and __nextcloud_user, it will
now suppress global warnings, too. This will be done because nobody
cares about then, only about the errors generated from the executed
command.
After my update to 20.0.2, Nextcloud complained about missing primary
key indexes. I don't know if it existed before that version, but
adding it to make life easier .. as no one will propably install an
older version than Nextcloud 20.0.2.
Because the detection of the webroot is not that good, it was removed.
Now, the object id contains the full path of the nextcloud installation.
This changes the installation process a bit, as it will download the
tarball to /tmp rather the webroot.
Also, this commit contains a bit overhaul work.
This now checks the configuration value exactly and does not say there
are equal if just the end of the string differs.
Resulting from this, it will run code the next run if the default port
was in a database migration. This was fixed by instantly correct this
configuration value.
The type now handles the case when the data directory will be moved to
an other location. To this, adjustment to the "maintainer mode" on
setting and the manpage.
Some database parameters are required if the type is `mysql` or `pgsql`.
Also, the variants of the parameter --database-type decreased to those
that work with the configuration, as it is directly mapped to the
parameter.
The functions in `map-conf-changes.sh` where extended to support the
conditional mandatory argument to throw an error if this parameter is
set.
This commit changes the manifest to do not check for too low versions
and does not download and unpack a tarball if available if the parameter
--install-only is set. This should make it useable now.
Also, a short message change to match the manual.
This type should work, but there are still many things to do here to
work nice and well.
Things that currently not work (well):
- not all parameters work for now
- nextcloud installations in subfolders (e.g. slashes in the object id)
Now, the python venv is now created via `pyvenv` or `python3 -m venv`
instead of the legacy `virtualenv`. For this, not all python processes
from the venv need to be stopped.
Migration from previous versions of this type may be difficult, but
solvable if the venv will be recreated.
The Gunicorn type now supports systemd sockets only. With uWSGI, you can
choose between it and the native sockets based on the parameters chosen.
This is done because it could not be implemented to have multiple
protocols with the systemd sockets (so you may choose).
The systemd socket unit file is generally available, so both types use
the same script to generate the socket unit file.
Changed flag (force to ignore a non-existant directory), typo and
swapped arguments are done. Also, the process to stop all processes from
the virtal environment has changed: Now, it stops all potential services
and ignore errors (because a service doesn't exist).
After that, it sends a kill signal to all processes and then gracefully
wait since there is no option to do that with systemd.