diff options
Diffstat (limited to 'roundcubemail.spec')
-rw-r--r-- | roundcubemail.spec | 282 |
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 |