So we have several nasty issues when using ignore-spm-downgrades here.
First of all, calculate_world_updates should get the setting directly from
SystemSettings instead of bugging developer asking for it.
Secondly, calculate_world_updates should return a 4D tuple, also containing
the matches ignored when ignore-spm-downgrades is enabled.
Moreover, Spritz packages.py getPackageItem featured an unused argument,
which has been dropped.
I know this commit is a bitch because we are talking about changing API
and affecting several files at once.
So we have several nasty issues when using ignore-spm-downgrades here.
First of all, calculate_world_updates should get the setting directly from
SystemSettings instead of bugging developer asking for it.
Secondly, calculate_world_updates should return a 4D tuple, also containing
the matches ignored when ignore-spm-downgrades is enabled.
Moreover, Spritz packages.py getPackageItem featured an unused argument,
which has been dropped.
I know this commit is a bitch because we are talking about changing API
and affecting several files at once.
The aim is to make php handlers not always required when there is a FTP
server that supports "SITE MD5" commands (like proftpd with mod_md5).
This commit makes FtpServerHandler able to handle such feature and avoid
using any other external hook. If server support is found, this verification
is enough. If support is broken, FtpServerHandler will try to fallback to
previously supported features, if enabled (use_handlers variable).
Moreover, FtpServerHandler now makes use of entropy.tools.is_valid_md5
instead of just checking if provided strings are long 32 chars.
Proftpd server with mod_md5 supports SITE MD5 <filepath> that actually
retrieves the md5 hash of the provided filepath.
This commit add support for it. The aim is trying to use SITE MD5 instead
if available instead of using crappy php hooks that in our world are called
"repository handlers".
This commit fixes the issues with updates being reported after having
already installed them.
Moreover, to improve the communication to user, a new signal "updating_signal"
is spawned before the repositories sync.