summaryrefslogtreecommitdiffstats
path: root/roundcubemail.spec
diff options
context:
space:
mode:
Diffstat (limited to 'roundcubemail.spec')
-rw-r--r--roundcubemail.spec282
1 files changed, 167 insertions, 115 deletions
diff --git a/roundcubemail.spec b/roundcubemail.spec
index 04596a3..40c3f3b 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
@@ -17,8 +18,8 @@
%else
%global with_phpfpm 0
%endif
-%global upstream_version 1.4.7
-#global upstream_prever rc2
+%global upstream_version 1.6.6
+#global upstream_prever rc
%global roundcubedir %{_datadir}/roundcubemail
%global _logdir /var/log
@@ -38,43 +39,28 @@ 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: GPL-3.0-or-later AND GPL-2.0-only AND LGPL-2.0-or-later AND CC-BY-SA-3.0 AND MIT AND BSD-2-Clause AND BSD-3-Clause AND PHP-3.01
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
+Source8: https://github.com/roundcube/roundcubemail/releases/download/%{upstream_version}%{?upstream_prever:-%{upstream_prever}}/roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}}-complete.tar.gz.asc
+Source9: https://roundcube.net/download/pubkey.asc
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.4-confpath.patch
+Patch1: roundcubemail-1.6-confpath.patch
BuildArch: noarch
+BuildRequires: gnupg2
+BuildRequires: php(language) >= 7.3
# For test
BuildRequires: php-cli
-BuildRequires: php-pear(PEAR) >= 1.10.1
-BuildRequires: php-pear(Auth_SASL) >= 1.1.0
-BuildRequires: php-pear(Net_IDNA2) >= 0.2.0
-BuildRequires: php-pear(Mail_Mime) >= 1.10.0
-BuildRequires: php-pear(Net_SMTP) >= 1.8.1
-BuildRequires: php-pear(Crypt_GPG) >= 1.6.0
-BuildRequires: php-pear(Net_Sieve) >= 1.4.3
-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(masterminds/html5) >= 2.5.0 with php-composer(masterminds/html5) < 3)
-# remirepo:6
-%else
-BuildRequires: php-composer(endroid/qrcode) < 2
-BuildRequires: php-composer(endroid/qrcode) >= 1.6.5
-BuildRequires: php-composer(masterminds/html5) < 3
-BuildRequires: php-composer(masterminds/html5) >= 2.5.0
-%endif
%if %{with_phpfpm}
Requires: webserver
@@ -85,6 +71,8 @@ Requires: php(httpd)
Requires: httpd
Requires: mod_php
%endif
+Requires: php(language) >= 7.3
+Requires: php-ctype
Requires: php-curl
Requires: php-date
Requires: php-dom
@@ -96,91 +84,101 @@ Requires: php-iconv
Requires: php-intl
Requires: php-json
Requires: php-ldap
+Requires: php-libxml
Requires: php-mbstring
Requires: php-openssl
Requires: php-pcre
Requires: php-pdo
-Requires: php-pspell
+Requires: php-posix
+Requires: php-reflection
Requires: php-session
Requires: php-simplexml
Requires: php-sockets
Requires: php-spl
-Requires: php-xml
-# From composer.json-dist, require
-# "php": ">=5.4.0",
-# "pear/pear-core-minimal": "~1.10.1",
-# "pear/auth_sasl": "~1.1.0",
-# "pear/net_idna2": "~0.2.0",
-# "pear/mail_mime": "~1.10.0",
-# "pear/net_smtp": "~1.8.1",
-# "pear/crypt_gpg": "~1.6.0",
-# "pear/net_sieve": "~1.4.3",
-# "roundcube/plugin-installer": "~0.1.6",
-# "masterminds/html5": "~2.5.0",
-# "endroid/qrcode": "~1.6.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(Net_IDNA2) >= 0.2.0
-Requires: php-pear(Mail_Mime) >= 1.10.0
-Requires: php-pear(Net_SMTP) >= 1.8.1
-Requires: php-pear(Crypt_GPG) >= 1.6.0
-Requires: php-pear(Net_Sieve) >= 1.4.3
-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(masterminds/html5) >= 2.5.0 with php-composer(masterminds/html5) < 3)
-# From composer.json-dist, "suggest": {
-# "mkopinsky/zxcvbn-php": "^4.4.2 required for Zxcvbn password strength driver"
-Suggests: (php-composer(mkopinsky/zxcvbn-php) >= 4.4.2 with php-composer(mkopinsky/zxcvbn-php) < 5)
-# remirepo:6
-%else
-Requires: php-composer(endroid/qrcode) < 2
-Requires: php-composer(endroid/qrcode) >= 1.6.5
-Requires: php-composer(masterminds/html5) < 3
-Requires: php-composer(masterminds/html5) >= 2.5.0
-%endif
+Requires: php-tokenizer
# 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
+# Crypto
+Suggests: php-sodium
# Spell check
-Suggests: php-enchant
+Recommends: php-enchant
+Suggests: php-pspell
# Caching
-Suggests: php-apc
-Suggests: php-memcache
-Suggests: php-redis
+Suggests: php-apcu
+Suggests: php-memcache
+Suggests: php-memcached
+Suggests: php-redis
# Gearman support
-Suggests: php-gearman
-# PAM password support
-#Optional: php-pam
+Suggests: php-gearman
+# Authent
+Suggests: php-krb5
+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
+# License Apache-2.0
+Provides: bundled(js-lessjs) = 3.13.0
+# License GPLv3
+Provides: bundled(js-publickey) = 0e011cb1
+# License LGPL
+Provides: bundled(js-openpgp) = 5.0.0
+Provides: bundled(js-tinymce) = 5.8.2
+# License MIT
+Provides: bundled(js-bootstrap) = 4.5.3
+Provides: bundled(js-codemirror) = 5.58.3
+Provides: bundled(js-jquery) = 3.5.1
+Provides: bundled(js-jstimezonedetect) = 1.0.7
+# License Unkown
+Provides: bundled(js-tinymce-langs) = 5.8.2
+
+# Bundled PHP libraries
+# see vendor/composer/installed.json
+# License BSD
+Provides: bundled(php-pear-auth-sasl) = v1.1.0
+# License BSD-2-Clause
+Provides: bundled(php-bacon-bacon-qr-code) = 2.0.8
+Provides: bundled(php-dasprid-enum) = 1.0.5
+Provides: bundled(php-pear-console-getopt) = v1.4.3
+Provides: bundled(php-pear-net-sieve) = 1.4.6
+Provides: bundled(php-pear-net-smtp) = 1.10.1
+Provides: bundled(php-pear-pear-exception) = v1.0.2
+# License BSD-3-Clause
+Provides: bundled(php-pear-mail-mime) = 1.10.11
+Provides: bundled(php-pear-pear-core-minimal) = v1.10.14
+# License GPL-2.0
+Provides: bundled(php-roundcube-rtf-html-php) = v2.2
+# License GPL-3.0+
+Provides: bundled(php-kolab-net-ldap3) = v1.1.5
+Provides: bundled(php-roundcube-plugin-installer) = 0.3.2
+# License LGPL-2.1
+Provides: bundled(php-pear-crypt-gpg) = v1.6.8
+# License LGPL-3.0
+Provides: bundled(php-pear-net-ldap2) = v2.3.0
+# License MIT
+Provides: bundled(php-guzzlehttp-guzzle) = 7.8.1
+Provides: bundled(php-guzzlehttp-promises) = 2.0.2
+Provides: bundled(php-guzzlehttp-psr7) = 2.6.2
+Provides: bundled(php-masterminds-html5) = 2.7.6
+Provides: bundled(php-pear-console-commandline) = v1.2.6
+Provides: bundled(php-psr-http-client) = 1.0.3
+Provides: bundled(php-psr-http-factory) = 1.0.2
+Provides: bundled(php-psr-http-message) = 2.0
+Provides: bundled(php-ralouphie-getallheaders) = 3.0.3
+Provides: bundled(php-symfony-deprecation-contracts) = v2.5.2
+# License PHP License
+Provides: bundled(php-pear-net-socket) = v1.2.2
%description
@@ -195,12 +193,22 @@ CSS 2.
%prep
+%{?gpgverify: %{gpgverify} --keyring=%{SOURCE9} --signature=%{SOURCE8} --data=%{SOURCE0}}
+
%setup -q -n roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}}
-%patch1 -p1 -b .rpm
+%patch -P1 -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/%{upstream_version}%{?upstream_prever:-%{upstream_prever}}/jsdeps.json
+%endif
# fix permissions and remove any .htaccess files
find . -type f -print | xargs chmod a-x
-find . -name \.htaccess -print | xargs rm -f
+find . -name \.htaccess -delete -print
# drop file from patch
find . -type f -name '*.orig' -o -name '*.rpm' -exec rm {} \; -print
@@ -210,26 +218,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/Masterminds/HTML5/autoload.php',
-]);
-\Fedora\Autoloader\Dependencies::optional([
- '%{_datadir}/php/ZxcvbnPhp/autoload.php',
-]);
-EOF
-
%build
# Nothing
@@ -250,11 +238,6 @@ install -Dpm 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/nginx/default.d/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/roundcubemail
install -pDm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/roundcubemail
-%if 0%{?rhel} == 5 || 0%{?rhel} == 6
-: Remove "su" option from logrotate configuration file - requires logrotate 3.8+
-sed -e '/su /d' -i %{buildroot}%{_sysconfdir}/logrotate.d/roundcubemail
-%endif
-
# Log files
mkdir -p %{buildroot}/var/log/roundcubemail
# Temp files
@@ -287,7 +270,7 @@ popd
# clean up the buildroot
rm -r %{buildroot}%{roundcubedir}/{config,logs,temp}
-rm -r %{buildroot}%{roundcubedir}/{CHANGELOG,INSTALL,LICENSE,README.md,UPGRADING}
+rm -r %{buildroot}%{roundcubedir}/{CHANGELOG.md,INSTALL,LICENSE,README.md,UPGRADING}
rm %{buildroot}%{roundcubedir}/composer.json-dist
@@ -295,8 +278,8 @@ rm %{buildroot}%{roundcubedir}/composer.json-dist
: Check our autoloader for needed classes
php -r '
require "%{buildroot}%{roundcubedir}/vendor/autoload.php";
-$cl = [ "Auth_SASL", "Crypt_GPG", "Mail_mime", "Net_IDNA2", "Net_LDAP2", "Masterminds\\HTML5",
- "Net_LDAP3", "Net_Sieve", "Net_SMTP", "PEAR" , "Endroid\\QrCode\\QrCode" ];
+$cl = [ "Auth_SASL", "Crypt_GPG", "Mail_mime", "Net_LDAP2", "Masterminds\\HTML5", "GuzzleHttp\\Client",
+ "Net_LDAP3", "Net_Sieve", "Net_SMTP", "PEAR" , "BaconQrCode\\Writer", "RtfHtmlPhp\\Document" ];
$ret = 0;
foreach ($cl as $c) {
if (class_exists($c)) {
@@ -323,7 +306,7 @@ fi
# remirepo:1
%{!?_licensedir:%global license %%doc}
%license LICENSE
-%doc CHANGELOG INSTALL README.md UPGRADING README-rpm.txt
+%doc CHANGELOG.md INSTALL README.md UPGRADING README-rpm.txt
%doc composer.json-dist
%{roundcubedir}
%dir %{_sysconfdir}/%{name}
@@ -349,6 +332,75 @@ fi
%changelog
+* Mon Jan 22 2024 Remi Collet <remi@remirepo.net> - 1.6.6-1
+- update to 1.6.6
+
+* Mon Nov 6 2023 Remi Collet <remi@remirepo.net> - 1.6.5-1
+- update to 1.6.5
+
+* Mon Oct 16 2023 Remi Collet <remi@remirepo.net> - 1.6.4-1
+- update to 1.6.4
+
+* Fri Sep 15 2023 Remi Collet <remi@remirepo.net> - 1.6.3-1
+- update to 1.6.3
+
+* Sun Jul 2 2023 Remi Collet <remi@remirepo.net> - 1.6.2-1
+- update to 1.6.2
+
+* Tue Jan 24 2023 Remi Collet <remi@remirepo.net> - 1.6.1-1
+- update to 1.6.1
+- use SPDX license id
+
+* Wed Aug 3 2022 Remi Collet <remi@remirepo.net> - 1.6.0-1
+- update to 1.6.0
+
+* Mon Jun 13 2022 Remi Collet <remi@remirepo.net> - 1.6~rc-1
+- update to 1.6-rc
+- drop patch merged upstream
+
+* Mon Mar 7 2022 Remi Collet <remi@remirepo.net> - 1.6~beta-1
+- update to 1.6-beta
+- raise dependency on PHP 7.3
+- add patch to keep use default_host and smtp_server
+ from https://github.com/roundcube/roundcubemail/pull/8467
+
+* Thu Dec 30 2021 Remi Collet <remi@remirepo.net> - 1.5.2-1
+- update to 1.5.2
+
+* 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
+
+* Tue Oct 19 2021 Remi Collet <remi@remirepo.net> - 1.5.0-1
+- update to 1.5.0
+
+* Mon Jul 5 2021 Remi Collet <remi@remirepo.net> - 1.5~rc-2
+- update to 1.5-rc
+- raise dependency on pear/net_smtp 1.10
+- raise dependency on pear/net_sieve 1.4.5
+
+* Thu Apr 22 2021 Remi Collet <remi@remirepo.net> - 1.5~beta-1
+- update to 1.5-beta
+- drop dependency on pear/net_idna2
+- raise dependency on pear/net_smtp 1.9
+- raise dependency on masterminds/html5 2.7
+- add dependency on guzzlehttp/guzzle
+- switch from mkopinsky/zxcvbn-php to bjeavons/zxcvbn-php
+
+* Tue Feb 9 2021 Remi Collet <remi@remirepo.net> - 1.4.11-1
+- update to 1.4.11
+
+* Mon Dec 28 2020 Remi Collet <remi@remirepo.net> - 1.4.10-1
+- update to 1.4.10
+
+* Mon Sep 28 2020 Remi Collet <remi@remirepo.net> - 1.4.9-1
+- update to 1.4.9
+
+* Tue Aug 11 2020 Remi Collet <remi@remirepo.net> - 1.4.8-1
+- update to 1.4.8
+
* Mon Jul 6 2020 Remi Collet <remi@remirepo.net> - 1.4.7-1
- update to 1.4.7