Closed tocy13 closed 4 years ago
To begin with you didn't specified the version of Mibew Messenger. However, I can confirm that the issue is valid for the actual code.
The sad truth is that Mibew Messenger use semantic versioning system for dependencies management. And Debian versioning system is slightly incompatible with Semver. One can see the differences here:
https://semver.org/spec/v2.0.0.html#backusnaur-form-grammar-for-valid-semver-versions https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version
In short, in Debian they use tilda for pre-release tags, while Semver standard says that it should be hyphen. So, here is the dilemma. On the one hand Debian doesn't comply with the standard, on the other hand Debian is very popular, so it's important to support it...
Though, there should not be internal server error anyway. So some fix will follow.
Thank you very much for your fast response. I am using the latest version of mibew. I can confirm that it works well on CentOS. Cheers,
Well, Debian is much bigger than Mibew...
@tocy13 Please, check the https://github.com/Mibew/mibew/tree/debian_fix branch. If that fix will work for you, I'll put in upstream.
Hi, By checking the branch I see the only difference is in src/mibew/libs/classes/Mibew/Plugin/DependencyGraph.php file - line 284. With this modification, once I enabled bcmath php7.3 extension I still got the 500 Internal server error when going to the plugins page. [Thu Mar 19 10:41:09.019919 2020] [php7:warn] [pid 17112] [client 10.X.X.X:24150] PHP Warning: Application stopped because of uncaught exception vierbergenlars\SemVer\SemVerException "Invalid Version: 7.3.14-1~deb10u1 [[7.3.14-1~deb10u1]]" (/var/www/html/mibew/vendor/vierbergenlars/php-semver/src/vierbergenlars/SemVer/version.php:27) in /var/www/html/mibew/libs/classes/Mibew/Application.php on line 164, referer:
In a previous fix you have provided, I saw that src/mibew/libs/classes/Mibew/Plugin/PluginInfo.php was also modified. Should this file be updated as well?
Thanks
When I replaced line 271 in src/mibew/libs/classes/Mibew/Plugin/PluginInfo.php with the following one:
if (!$version_constrain->satisfiedBy(new Version(preg_replace('/~/', '-', $system_info[$lib]), true))) {
then everything started working. Thanks
@tocy13 Sorry, my bad. :)
And DependencyGraph.php should stay unchanged: it's related only to plugins, and plugins should follow the rules of semantic versioning.
I'll merge the fix into upstream in the near future.
Thank you. I restored DependencyGraph.php to the default 3.2.5 content and all still works:) I appreciate your fast response.
Environment
Expected behavior
GeoIP plugin enable
Actual behavior
500 Internal Server Error
Steps to reproduce the behavior
Deploy GeoIP plugin, add php7.3-gmp (7.3.14-1~deb10u1) or php7.3-bcmath (7.3.14-1~deb10u1) php module and then when trying to go to plugin page you get 500 Internal Server error with log:
[php7:warn] [pid 34304] [client 10.5.10.191:1362] PHP Warning: Application stopped because of uncaught exception vierbergenlars\SemVer\SemVerException "Invalid Version: 7.3.14-1~deb10u1 [[7.3.14-1~deb10u1]]" (/var/www/html/mibew/vendor/vierbergenlars/php-semver/src/vierbergenlars/SemVer/version.php:27) in /var/www/html/mibew/libs/classes/Mibew/Application.php on line 164, referer: https://site.com/operator