diff options
| -rw-r--r-- | roundcubemail.spec | 163 | 
1 files 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 -<?php -/* Autoloader for %{name} dependencies */ -require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; - -# PEAR components -\Fedora\Autoloader\Autoload::addIncludePath(); - -# Composer components -\Fedora\Autoloader\Dependencies::required([ -    '%{_datadir}/php/Endroid/QrCode/autoload.php', -    '%{_datadir}/php/GuzzleHttp6/autoload.php', -    '%{_datadir}/php/Roundcube/RtfHtmlPhp/autoload.php', -    '%{_datadir}/php/Masterminds/HTML5/autoload.php', -]); -\Fedora\Autoloader\Dependencies::optional([ -    '%{_datadir}/php/ZxcvbnPhp/autoload.php', -]); -EOF -  %build  # Nothing @@ -357,6 +303,9 @@ fi  %changelog +* Fri Dec  3 2021 Remi Collet <remi@remirepo.net> - 1.5.1-2 +- use all PHP bundled libraries +  * Mon Nov 29 2021 Remi Collet <remi@remirepo.net> - 1.5.1-1  - update to 1.5.1  | 
