From 82136d8f7599c36bc6aee3a86acc068cae5afe3d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 3 Dec 2021 16:53:47 +0100 Subject: use all PHP bundled libraries --- roundcubemail.spec | 163 ++++++++++++++++++----------------------------------- 1 file changed, 56 insertions(+), 107 deletions(-) diff --git a/roundcubemail.spec b/roundcubemail.spec index 2aa836a..a3c6659 100644 --- a/roundcubemail.spec +++ b/roundcubemail.spec @@ -8,6 +8,7 @@ # Please preserve changelog entries # +%bcond_with internet # remirepo:1 %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 @@ -24,7 +25,7 @@ %global _logdir /var/log Name: roundcubemail Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} -Release: 1%{?dist} +Release: 2%{?dist} Summary: Round Cube Webmail is a browser-based multilingual IMAP client # Since 0.8 beta, the main code has been GPLv3+ with exceptions and @@ -38,7 +39,7 @@ Summary: Round Cube Webmail is a browser-based multilingual IMAP client # https://github.com/pear/Crypt_GPG # http://jqueryui.com/ # http://www.tinymce.com/ -License: GPLv3+ with exceptions and GPLv3+ and GPLv2 and LGPLv2+ and CC-BY-SA and (MIT or GPLv2) +License: GPLv3+ with exceptions and GPLv3+ and GPLv2 and LGPLv2+ and CC-BY-SA and MIT and BSD and PHP URL: http://www.roundcube.net Source0: https://github.com/roundcube/roundcubemail/releases/download/%{upstream_version}%{?upstream_prever:-%{upstream_prever}}/roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}}-complete.tar.gz @@ -46,6 +47,8 @@ Source1: roundcubemail.httpd Source3: roundcubemail.nginx Source2: roundcubemail.logrotate Source4: roundcubemail-README-rpm.txt +# Simple script to dump name, version and licenses of bundled libraries +Source5: roundcubemail-bundled.php # Non-upstreamable: Adjusts config path to Fedora policy Patch1: roundcubemail-1.5-confpath.patch @@ -54,32 +57,6 @@ Patch1: roundcubemail-1.5-confpath.patch BuildArch: noarch # For test BuildRequires: php-cli -BuildRequires: php-pear(PEAR) >= 1.10.1 -BuildRequires: php-pear(Auth_SASL) >= 1.1.0 -BuildRequires: php-pear(Mail_Mime) >= 1.10.0 -BuildRequires: php-pear(Net_SMTP) >= 1.10.0 -BuildRequires: php-pear(Crypt_GPG) >= 1.6.0 -BuildRequires: php-pear(Net_Sieve) >= 1.4.5 -BuildRequires: php-pear(Net_LDAP2) >= 2.2.0 -BuildRequires: php-composer(kolab/net_ldap3) >= 1.1.1 -BuildRequires: php-composer(fedora/autoloader) -# remirepo:1 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: (php-composer(endroid/qrcode) >= 1.6.5 with php-composer(endroid/qrcode) < 2) -BuildRequires: (php-composer(roundcube/rtf-html-php) >= 2.1 with php-composer(roundcube/rtf-html-php) < 3) -BuildRequires: (php-composer(masterminds/html5) >= 2.7.0 with php-composer(masterminds/html5) < 3) -BuildRequires: (php-composer(guzzlehttp/guzzle) >= 6.5.5 with php-composer(guzzlehttp/guzzle) < 7) -# remirepo:10 -%else -BuildRequires: php-endroid-qrcode < 2 -BuildRequires: php-endroid-qrcode >= 1.6.5 -BuildRequires: php-roundcube-rtf-html-php < 3 -BuildRequires: php-roundcube-rtf-html-php >= 2.1 -BuildRequires: php-masterminds-html5 < 3 -BuildRequires: php-masterminds-html5 >= 2.7.0 -BuildRequires: php-guzzlehttp-guzzle6 < 7 -BuildRequires: php-guzzlehttp-guzzle6 >= 6.5.5 -%endif %if %{with_phpfpm} Requires: webserver @@ -111,64 +88,18 @@ Requires: php-simplexml Requires: php-sockets Requires: php-spl Requires: php-xml -# From composer.json-dist, require -# "php": ">=5.5.0", -# "pear/pear-core-minimal": "~1.10.1", -# "pear/auth_sasl": "~1.1.0", -# "pear/mail_mime": "~1.10.0", -# "pear/net_smtp": "~1.10.0", -# "pear/crypt_gpg": "~1.6.0", -# "pear/net_sieve": "~1.4.5", -# "roundcube/plugin-installer": "~0.3.0", -# "roundcube/rtf-html-php": "~2.1", -# "masterminds/html5": "~2.7.0", -# "endroid/qrcode": "~1.6.5" -# "guzzlehttp/guzzle": "^6.5.5", -# "kolab/net_ldap3": "~1.1.1" -# not available and doesn't make sense roundcube/plugin-installer -Requires: php-pear(PEAR) >= 1.10.1 -Requires: php-pear(Auth_SASL) >= 1.1.0 -Requires: php-pear(Mail_Mime) >= 1.10.0 -Requires: php-pear(Net_SMTP) >= 1.10.0 -Requires: php-pear(Crypt_GPG) >= 1.6.0 -Requires: php-pear(Net_Sieve) >= 1.4.5 -Requires: php-pear(Net_LDAP2) >= 2.2.0 -Requires: php-composer(kolab/net_ldap3) >= 1.1.1 -# remirepo:1 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -Requires: (php-composer(endroid/qrcode) >= 1.6.5 with php-composer(endroid/qrcode) < 2) -Requires: (php-composer(roundcube/rtf-html-php) >= 2.1 with php-composer(roundcube/rtf-html-php) < 3) -Requires: (php-composer(masterminds/html5) >= 2.7.0 with php-composer(masterminds/html5) < 3) -Requires: (php-composer(guzzlehttp/guzzle) >= 6.5.5 with php-composer(guzzlehttp/guzzle) < 7) -# From composer.json-dist, "suggest": { -# "bjeavons/zxcvbn-php": "^1.0 required for Zxcvbn password strength driver" -Suggests: (php-composer(bjeavons/zxcvbn-php) >= 1.0 with php-composer(bjeavons/zxcvbn-php) < 5) -# remirepo:10 -%else -Requires: php-endroid-qrcode < 2 -Requires: php-endroid-qrcode >= 1.6.5 -Requires: php-roundcube-rtf-html-php < 3 -Requires: php-roundcube-rtf-html-php >= 2.1 -Requires: php-masterminds-html5 < 3 -Requires: php-masterminds-html5 >= 2.7.0 -Requires: php-guzzlehttp-guzzle6 < 7 -Requires: php-guzzlehttp-guzzle6 >= 6.5.5 -%endif # mailcap for /etc/mime.types Requires: mailcap -# Autoloader -Requires: php-composer(fedora/autoloader) - # EXIF images Requires: php-exif -# Upload progress (shock!) -#Suggests: php-uploadprogress # ZIP download plugin Requires: php-zip # remirepo:1 %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 # Optional deps +# Upload progress (shock!) +Suggests: php-uploadprogress # Spell check Suggests: php-enchant # Caching @@ -178,20 +109,49 @@ Suggests: php-redis # Gearman support Suggests: php-gearman # PAM password support -#Optional: php-pam +Suggests: php-pam # remirepo:1 %endif # Bundled JS libraries # see https://github.com/roundcube/roundcubemail/blob/master/jsdeps.json -Provides: bundled(js-jquery) = 3.4.1 -Provides: bundled(js-jstz) = 1.0.6 -Provides: bundled(js-publickey) -Provides: bundled(js-tinymce) = 4.8.2 -Provides: bundled(js-openpgp) = 4.4.6 -Provides: bundled(js-codemirror) = 5.46.0 -Provides: bundled(js-bootstrap) = 4.3.1 -Provides: bundled(js-less) = 2.7.3 +Provides: bundled(js-jquery) = 3.5.1 +Provides: bundled(js-jstimezonedetect) = 1.0.7 +Provides: bundled(js-publickey) = 0e011cb1 +Provides: bundled(js-tinymce) = 5.8.2 +Provides: bundled(js-tinymce-langs) = 5.8.2 +Provides: bundled(js-openpgp) = 4.10.9 +Provides: bundled(js-codemirror) = 5.58.3 +Provides: bundled(js-bootstrap) = 4.5.3 +Provides: bundled(js-lessjs) = 3.13.0 +# Bundled PHP libraries +# see vendor/composer/installed.json +Provides: bundled(php-endroid-qr-code) = 1.6.6 +Provides: bundled(php-guzzlehttp-guzzle) = 6.5.5 +Provides: bundled(php-guzzlehttp-promises) = 1.5.1 +Provides: bundled(php-guzzlehttp-psr7) = 1.8.3 +Provides: bundled(php-kolab-net-ldap3) = v1.1.3 +Provides: bundled(php-masterminds-html5) = 2.7.5 +Provides: bundled(php-paragonie-random-compat) = v2.0.20 +Provides: bundled(php-pear-auth-sasl) = v1.1.0 +Provides: bundled(php-pear-console-commandline) = v1.2.4 +Provides: bundled(php-pear-console-getopt) = v1.4.3 +Provides: bundled(php-pear-crypt-gpg) = v1.6.6 +Provides: bundled(php-pear-mail-mime) = 1.10.11 +Provides: bundled(php-pear-net-ldap2) = v2.2.0 +Provides: bundled(php-pear-net-sieve) = 1.4.5 +Provides: bundled(php-pear-net-smtp) = 1.10.0 +Provides: bundled(php-pear-net-socket) = v1.2.2 +Provides: bundled(php-pear-pear-core-minimal) = v1.10.11 +Provides: bundled(php-pear-pear-exception) = v1.0.2 +Provides: bundled(php-psr-http-message) = 1.0.1 +Provides: bundled(php-ralouphie-getallheaders) = 2.0.5 +Provides: bundled(php-roundcube-plugin-installer) = 0.3.1 +Provides: bundled(php-roundcube-rtf-html-php) = v2.1 +Provides: bundled(php-symfony-polyfill-intl-idn) = v1.19.0 +Provides: bundled(php-symfony-polyfill-intl-normalizer) = v1.19.0 +Provides: bundled(php-symfony-polyfill-php70) = v1.19.0 +Provides: bundled(php-symfony-polyfill-php72) = v1.19.0 %description @@ -209,6 +169,14 @@ CSS 2. %setup -q -n roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}} %patch1 -p1 -b .rpm +: PHP bundled libraries +php %{SOURCE5} vendor/composer/installed.json + +%if %{with internet} +: JS bundled libraries +php %{SOURCE5} https://raw.githubusercontent.com/roundcube/roundcubemail/%{version}/jsdeps.json +%endif + # fix permissions and remove any .htaccess files find . -type f -print | xargs chmod a-x find . -name \.htaccess -delete -print @@ -221,28 +189,6 @@ find . -type f -name '*.orig' -o -name '*.rpm' -exec rm {} \; -print echo "CVE-2012-4230: removing tinymce bbcode plugin, check path if this fails." test -d program/js/*mce/plugins/bbcode && rm -rf program/js/*mce/plugins/bbcode || exit 1 -# Create simple autoloader for PEAR -rm -r vendor/* -cat << EOF | tee vendor/autoload.php - - 1.5.1-2 +- use all PHP bundled libraries + * Mon Nov 29 2021 Remi Collet - 1.5.1-1 - update to 1.5.1 -- cgit