summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--roundcubemail.spec163
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