summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--composer.json17
-rw-r--r--roundcubemail-1.4-confpath.patch (renamed from roundcubemail-1.3.4-confpath.patch)33
-rw-r--r--roundcubemail-pr313.patch82
-rw-r--r--roundcubemail.spec77
4 files changed, 70 insertions, 139 deletions
diff --git a/composer.json b/composer.json
index 537cbb5..a37bf57 100644
--- a/composer.json
+++ b/composer.json
@@ -6,10 +6,6 @@
{
"type": "composer",
"url": "https://plugins.roundcube.net/"
- },
- {
- "type": "vcs",
- "url": "https://git.kolab.org/diffusion/PNL/php-net_ldap.git"
}
],
"require": {
@@ -21,15 +17,14 @@
"pear/mail_mime": "~1.10.0",
"pear/net_smtp": "~1.7.1",
"pear/crypt_gpg": "~1.6.3",
- "pear/net_sieve": "~1.4.0",
+ "pear/net_sieve": "~1.4.3",
"roundcube/plugin-installer": "~0.1.6",
- "endroid/qr-code": "~1.6.5"
+ "masterminds/html5": "~2.3.0",
+ "endroid/qr-code": "~1.6.5",
+ "pear/net_ldap2": "~2.2.0",
+ "kolab/net_ldap3": "~1.0.6"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^5.7.15"
- },
- "suggest": {
- "pear/net_ldap2": "~2.2.0 required for connecting to LDAP",
- "kolab/Net_LDAP3": "dev-master required for connecting to LDAP"
+ "phpunit/phpunit": "^4.8.36 || ^5.7.21"
}
}
diff --git a/roundcubemail-1.3.4-confpath.patch b/roundcubemail-1.4-confpath.patch
index dc3ebc2..4c0240c 100644
--- a/roundcubemail-1.3.4-confpath.patch
+++ b/roundcubemail-1.4-confpath.patch
@@ -1,7 +1,7 @@
diff -up ./config/defaults.inc.php.rpm ./config/defaults.inc.php
---- ./config/defaults.inc.php.rpm 2018-01-14 14:00:49.000000000 +0100
-+++ ./config/defaults.inc.php 2018-01-15 07:19:24.805118072 +0100
-@@ -382,11 +382,11 @@ $config['user_aliases'] = false;
+--- ./config/defaults.inc.php.rpm 2018-08-24 21:42:24.000000000 +0200
++++ ./config/defaults.inc.php 2018-09-17 15:27:15.758441986 +0200
+@@ -404,11 +404,11 @@ $config['user_aliases'] = false;
// use this folder to store log files
// must be writeable for the user who runs PHP process (Apache user if mod_php is being used)
// This is used by the 'file' log driver.
@@ -15,7 +15,7 @@ diff -up ./config/defaults.inc.php.rpm ./config/defaults.inc.php
// expire files in temp_dir after 48 hours
// possible units: s, m, h, d, w
-@@ -601,7 +601,7 @@ $config['mime_magic'] = null;
+@@ -632,7 +632,7 @@ $config['mime_magic'] = null;
// This is used to derive mime-types from the filename extension or vice versa.
// Such a file is usually part of the apache webserver. If you don't find a file named mime.types on your system,
// download it from http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
@@ -24,32 +24,31 @@ diff -up ./config/defaults.inc.php.rpm ./config/defaults.inc.php
// path to imagemagick identify binary (if not set we'll use Imagick or GD extensions)
$config['im_identify_path'] = null;
-@@ -1236,3 +1236,7 @@ $config['message_show_email'] = false;
+@@ -1265,3 +1265,7 @@ $config['message_show_email'] = false;
// 0 - Reply-All always
// 1 - Reply-List if mailing list is detected
$config['reply_all_mode'] = 0;
+
-+// Keys directory for all users. Default 'enigma/home'.
-+// Must be writeable by PHP process
++// Keys directory for all users.
++// Must be writeable by PHP process, and not in the web server document root
+$config['enigma_pgp_homedir'] = '/var/lib/roundcubemail/enigma';
-diff -up ./installer/index.php.rpm ./installer/index.php
diff -up ./plugins/enigma/config.inc.php.dist.rpm ./plugins/enigma/config.inc.php.dist
---- ./plugins/enigma/config.inc.php.dist.rpm 2018-01-14 14:00:50.000000000 +0100
-+++ ./plugins/enigma/config.inc.php.dist 2018-01-15 07:19:24.805118072 +0100
+--- ./plugins/enigma/config.inc.php.dist.rpm 2018-09-17 15:22:35.041631063 +0200
++++ ./plugins/enigma/config.inc.php.dist 2018-09-17 15:23:04.918823805 +0200
@@ -12,10 +12,6 @@ $config['enigma_smime_driver'] = 'phpssl
// Enables logging of enigma operations (including Crypt_GPG debug info)
$config['enigma_debug'] = false;
--// Keys directory for all users. Default 'enigma/home'.
--// Must be writeable by PHP process
+-// REQUIRED! Keys directory for all users.
+-// Must be writeable by PHP process, and not in the web server document root
-$config['enigma_pgp_homedir'] = null;
-
// Location of gpg binary. By default it will be auto-detected.
// This is also a way to force gpg2 use if there are both 1.x and 2.x on the system.
$config['enigma_pgp_binary'] = '';
diff -up ./program/include/iniset.php.rpm ./program/include/iniset.php
---- ./program/include/iniset.php.rpm 2018-01-14 14:00:51.000000000 +0100
-+++ ./program/include/iniset.php 2018-01-15 07:19:24.806118078 +0100
+--- ./program/include/iniset.php.rpm 2018-08-24 21:42:26.000000000 +0200
++++ ./program/include/iniset.php 2018-09-17 15:22:35.041631063 +0200
@@ -29,7 +29,7 @@ if (!defined('INSTALL_PATH')) {
}
@@ -69,9 +68,9 @@ diff -up ./program/include/iniset.php.rpm ./program/include/iniset.php
// RC include folders MUST be included FIRST to avoid other
diff -up ./program/lib/Roundcube/bootstrap.php.rpm ./program/lib/Roundcube/bootstrap.php
---- ./program/lib/Roundcube/bootstrap.php.rpm 2018-01-14 14:00:51.000000000 +0100
-+++ ./program/lib/Roundcube/bootstrap.php 2018-01-15 07:19:24.806118078 +0100
-@@ -65,7 +65,7 @@ if (!defined('RCUBE_INSTALL_PATH')) {
+--- ./program/lib/Roundcube/bootstrap.php.rpm 2018-08-24 21:42:27.000000000 +0200
++++ ./program/lib/Roundcube/bootstrap.php 2018-09-17 15:22:35.041631063 +0200
+@@ -69,7 +69,7 @@ if (!defined('RCUBE_INSTALL_PATH')) {
}
if (!defined('RCUBE_CONFIG_DIR')) {
diff --git a/roundcubemail-pr313.patch b/roundcubemail-pr313.patch
deleted file mode 100644
index 2490e1a..0000000
--- a/roundcubemail-pr313.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 132a807dff7fc2d173e2e3bebb18ee181c7b27d9 Mon Sep 17 00:00:00 2001
-From: Remi Collet <fedora@famillecollet.com>
-Date: Mon, 28 Dec 2015 08:47:37 +0100
-Subject: [PATCH 1/2] add .log suffix to all log file names
-
----
- program/lib/Roundcube/rcube.php | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php
-index 3694c5c4b..ef5dcb94e 100644
---- a/program/lib/Roundcube/rcube.php
-+++ b/program/lib/Roundcube/rcube.php
-@@ -1246,7 +1246,7 @@ public static function write_log($name, $line)
- $log_dir = RCUBE_INSTALL_PATH . 'logs';
- }
-
-- return file_put_contents("$log_dir/$name", $line, FILE_APPEND) !== false;
-+ return file_put_contents("$log_dir/$name.log", $line, FILE_APPEND) !== false;
- }
-
- /**
-
-From 6ca4eab399adad22ed93b26c5870896425631dfa Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Tue, 27 Jun 2017 13:35:01 +0200
-Subject: [PATCH 2/2] add 'log_file_ext' configuration option
-
----
- config/defaults.inc.php | 3 +++
- program/lib/Roundcube/rcube.php | 8 +++++++-
- 2 files changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/config/defaults.inc.php b/config/defaults.inc.php
-index e2db2b726..050803231 100644
---- a/config/defaults.inc.php
-+++ b/config/defaults.inc.php
-@@ -77,6 +77,9 @@
- // set to 0 to avoid session IDs being logged.
- $config['log_session_id'] = 8;
-
-+// Default extension used for log file name
-+$config['log_file_ext'] = '.log';
-+
- // Syslog ident string to use, if using the 'syslog' log driver.
- $config['syslog_id'] = 'roundcube';
-
-diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php
-index ef5dcb94e..401cd3f86 100644
---- a/program/lib/Roundcube/rcube.php
-+++ b/program/lib/Roundcube/rcube.php
-@@ -1242,11 +1242,17 @@ public static function write_log($name, $line)
- }
- }
-
-+ if (self::$instance) {
-+ $log_suf = self::$instance->config->get('log_file_ext', '.log');
-+ } else {
-+ $log_suf = '.log';
-+ }
-+
- if (empty($log_dir)) {
- $log_dir = RCUBE_INSTALL_PATH . 'logs';
- }
-
-- return file_put_contents("$log_dir/$name.log", $line, FILE_APPEND) !== false;
-+ return file_put_contents("$log_dir/$name$log_suf", $line, FILE_APPEND) !== false;
- }
-
- /**
-diff -up ./program/lib/Roundcube/rcube_config.php.suf ./program/lib/Roundcube/rcube_config.php
---- ./program/lib/Roundcube/rcube_config.php.suf 2018-01-15 07:32:16.149315868 +0100
-+++ ./program/lib/Roundcube/rcube_config.php 2018-01-15 07:32:19.436332757 +0100
-@@ -253,7 +253,7 @@ class rcube_config
- ini_set('error_log', 'syslog');
- }
- else {
-- ini_set('error_log', $this->prop['log_dir'].'/errors');
-+ ini_set('error_log', $this->prop['log_dir'].'/errors.log');
- }
- }
-
diff --git a/roundcubemail.spec b/roundcubemail.spec
index 52f4b57..c487ce6 100644
--- a/roundcubemail.spec
+++ b/roundcubemail.spec
@@ -15,12 +15,13 @@
%else
%global with_phpfpm 0
%endif
-#global prever rc
+%global upstream_version 1.4
+%global upstream_prever beta
%global roundcubedir %{_datadir}/roundcubemail
%global _logdir /var/log
Name: roundcubemail
-Version: 1.3.7
+Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
Release: 1%{?dist}
Summary: Round Cube Webmail is a browser-based multilingual IMAP client
@@ -37,7 +38,7 @@ Summary: Round Cube Webmail is a browser-based multilingual IMAP client
# http://www.tinymce.com/
License: GPLv3+ with exceptions and GPLv3+ and GPLv2 and LGPLv2+ and CC-BY-SA and (MIT or GPLv2)
URL: http://www.roundcube.net
-Source0: https://github.com/roundcube/roundcubemail/releases/download/%{version}%{?prever:-%{prever}}/roundcubemail-%{version}%{?prever:-%{prever}}-complete.tar.gz
+Source0: https://github.com/roundcube/roundcubemail/releases/download/%{upstream_version}%{?upstream_prever:-%{upstream_prever}}/roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}}-complete.tar.gz
Source1: roundcubemail.httpd
Source3: roundcubemail.nginx
@@ -45,11 +46,8 @@ Source2: roundcubemail.logrotate
Source4: roundcubemail-README-rpm.txt
# Non-upstreamable: Adjusts config path to Fedora policy
-Patch1: roundcubemail-1.3.4-confpath.patch
+Patch1: roundcubemail-1.4-confpath.patch
-# add .log prefix to all log file names
-# see https://github.com/roundcube/roundcubemail/pull/313
-Patch2: roundcubemail-pr313.patch
BuildArch: noarch
# For test
@@ -61,13 +59,19 @@ BuildRequires: php-pear(Net_IDNA2) >= 0.2.0
BuildRequires: php-pear(Mail_Mime) >= 1.10.0
BuildRequires: php-pear(Net_SMTP) >= 1.7.1
BuildRequires: php-pear(Crypt_GPG) >= 1.6.0
-BuildRequires: php-pear(Net_Sieve) >= 1.4.0
-BuildRequires: php-composer(endroid/qrcode) < 2
-BuildRequires: php-composer(endroid/qrcode) >= 1.6.5
+BuildRequires: php-pear(Net_Sieve) >= 1.4.3
BuildRequires: php-pear(Net_LDAP2) >= 2.2.0
-BuildRequires: php-composer(kolab/Net_LDAP3)
+BuildRequires: php-composer(kolab/net_ldap3) >= 1.0.6
BuildRequires: php-composer(fedora/autoloader)
-
+%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.3.0 with php-composer(masterminds/html5) < 3)
+%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.3.0
+%endif
%if %{with_phpfpm}
Requires: webserver
@@ -108,9 +112,12 @@ Requires: php-xml
# "pear/mail_mime": "~1.10.0",
# "pear/net_smtp": "~1.7.1",
# "pear/crypt_gpg": "~1.6.0",
-# "pear/net_sieve": "~1.4.0",
+# "pear/net_sieve": "~1.4.3",
# "roundcube/plugin-installer": "~0.1.6",
+# "masterminds/html5": "~2.3.0",
# "endroid/qrcode": "~1.6.5"
+# "pear/net_ldap2": "~2.2.0",
+# "kolab/net_ldap3": "~1.0.6"
# not available and doesn't make sense roundcube/plugin-installer
Requires: php-pear(PEAR) >= 1.10.1
Requires: php-pear(Net_Socket) >= 1.2.1
@@ -119,14 +126,18 @@ Requires: php-pear(Net_IDNA2) >= 0.2.0
Requires: php-pear(Mail_Mime) >= 1.10.0
Requires: php-pear(Net_SMTP) >= 1.7.1
Requires: php-pear(Crypt_GPG) >= 1.6.0
-Requires: php-pear(Net_Sieve) >= 1.4.0
-Requires: php-composer(endroid/qrcode) < 2
-Requires: php-composer(endroid/qrcode) >= 1.6.5
-# From composer.json-dist, suggest
-# "pear/net_ldap2": "~2.2.0 required for connecting to LDAP",
-# "kolab/Net_LDAP3": "dev-master required for connecting to LDAP"
+Requires: php-pear(Net_Sieve) >= 1.4.3
Requires: php-pear(Net_LDAP2) >= 2.2.0
-Requires: php-composer(kolab/Net_LDAP3)
+Requires: php-composer(kolab/net_ldap3) >= 1.0.6
+%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.3.0 with php-composer(masterminds/html5) < 3)
+%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.3.0
+%endif
# mailcap for /etc/mime.types
Requires: mailcap
# Autoloader
@@ -155,12 +166,14 @@ Suggests: php-gearman
# Bundled JS libraries
# see https://github.com/roundcube/roundcubemail/blob/master/jsdeps.json
-Provides: bundled(js-jquery) = 3.2.1
+Provides: bundled(js-jquery) = 3.3.1
Provides: bundled(js-jstz) = 1.0.6
Provides: bundled(js-publickey)
-Provides: bundled(js-tinymce) = 4.5.7
-Provides: bundled(js-openpgp) = 1.6.2
-Provides: bundled(js-codemirror) = 5.21.0
+Provides: bundled(js-tinymce) = 4.8.2
+Provides: bundled(js-openpgp) = 2.6.2
+Provides: bundled(js-codemirror) = 5.34.0
+Provides: bundled(js-bootstrap) = 4.1.2
+Provides: bundled(js-less) = 2.7.3
%description
@@ -175,16 +188,15 @@ CSS 2.
%prep
-%setup -q -n roundcubemail-%{version}%{?prever:-%{prever}}
-%patch1 -p1
-%patch2 -p1
+%setup -q -n roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}}
+%patch1 -p1 -b .rpm
# fix permissions and remove any .htaccess files
find . -type f -print | xargs chmod a-x
find . -name \.htaccess -print | xargs rm -f
# drop file from patch
-find . -type f -name '*.orig' -exec rm {} \; -print
+find . -type f -name '*.orig' -o -name '*.rpm' -exec rm {} \; -print
# Wipe bbcode plugin from bundled TinyMCE to make doubleplus sure we cannot
# be vulnerable to CVE-2012-4230, unaddressed upstream
@@ -204,6 +216,7 @@ require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php';
# Composer components
\Fedora\Autoloader\Dependencies::required([
'%{_datadir}/php/Endroid/QrCode/autoload.php',
+ '%{_datadir}/php/Masterminds/HTML5/autoload.php',
]);
EOF
@@ -273,7 +286,7 @@ 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",
+$cl = [ "Auth_SASL", "Crypt_GPG", "Mail_mime", "Net_IDNA2", "Net_LDAP2", "Masterminds\\HTML5",
"Net_LDAP3", "Net_Sieve", "Net_SMTP", "Net_Socket", "PEAR" , "Endroid\\QrCode\\QrCode" ];
$ret = 0;
foreach ($cl as $c) {
@@ -326,6 +339,12 @@ fi
%changelog
+* Mon Sep 17 2018 Remi Collet <remi@remirepo.net> - 1.4~beta-1
+- Update to 1.4-beta
+- raise dependency on pear/net_sieve 1.4.3
+- raise dependency on kolab/net_ldap3 1.0.6
+- add dependency on masterminds/html5
+
* Wed Aug 01 2018 Kevin Fenzi <kevin@scrye.com> - 1.3.7-1
- Update to 1.3.7. Fixes bug #1609445