forked from pool/roundcubemail
update to 1.6.9
OBS-URL: https://build.opensuse.org/package/show/server:php:applications/roundcubemail?expand=0&rev=176
This commit is contained in:
commit
f4647c634d
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
52
README.openSUSE
Normal file
52
README.openSUSE
Normal file
@ -0,0 +1,52 @@
|
||||
|
||||
This README contains additional information specific to the
|
||||
openSUSE package of roundcube.
|
||||
|
||||
|
||||
INSTALLATION
|
||||
============
|
||||
|
||||
This application is packaged to integrate with Apache and MySQL but
|
||||
it can basically run with every webserver being able to run PHP and
|
||||
also use other SQL based database engines.
|
||||
|
||||
After installation of the package the application will immediately
|
||||
be reachable from everywhere once Apache is enabled under the URL
|
||||
|
||||
http://IP-ADDRESS/roundcubemail
|
||||
|
||||
The configuration is copied from the example config files from the
|
||||
package and therefore not really working.
|
||||
|
||||
First step is to prepare the MySQL database for Roundcube:
|
||||
|
||||
Setting up the mysql database can be done by creating an empty database,
|
||||
importing the table layout and granting the proper permissions to the
|
||||
roundcube user. Here is an example of that procedure:
|
||||
|
||||
# mysql
|
||||
> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
|
||||
> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost' IDENTIFIED BY 'password';
|
||||
> FLUSH PRIVILEGES;
|
||||
> quit
|
||||
|
||||
# mysql roundcubemail < /usr/share/doc/packages/roundcubemail/SQL/mysql.initial.sql
|
||||
|
||||
Note 1: 'password' is the master password for the roundcube user. It is strongly
|
||||
recommended you replace this with a more secure password. Please keep in
|
||||
mind: You need to specify this password later in '/etc/roundcubemail/config.inc.php'.
|
||||
|
||||
To use the integrated web based installer you need to enable it first
|
||||
in /etc/roundcubemail/config.inc.php:
|
||||
|
||||
$rcmail_config['enable_installer'] = true;
|
||||
|
||||
IMPORTANT: This MUST be disabled again after installation is finished
|
||||
for SECURITY reasons
|
||||
|
||||
and then access
|
||||
|
||||
http://IP-ADDRESS/roundcubemail/installer
|
||||
|
||||
to finish the installation.
|
||||
|
2
robots.txt
Normal file
2
robots.txt
Normal file
@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow: /
|
3
roundcubemail-1.6.7-complete.tar.gz
Normal file
3
roundcubemail-1.6.7-complete.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cf52515e65b2818cb02fd7a202c766367b8c54d8b7fea27dda9c81aa7ce1d3a6
|
||||
size 5899345
|
16
roundcubemail-1.6.7-complete.tar.gz.asc
Normal file
16
roundcubemail-1.6.7-complete.tar.gz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEiXDjemmK93XYfVkNwpRqlgnNVrQFAmZJ0UIACgkQwpRqlgnN
|
||||
VrRndRAAicU/OXjddhgBxfUn2OwfuQCVgC3lj8dvquVkdYfGMUieoxaGiJuzUO+2
|
||||
K6Ohm+ztsosGDG5qb8stI1wki00dFZ8vNQ4rmZOXy4fv94zT5Ytm4kUojUVfvERr
|
||||
Ksd/LHEnbNxIQNnBcD5aUrkVv9OxD4lnwYkBkt4vA2G7IDNDC9raDWLcJTZSUvQb
|
||||
juQ7HIvUp5tzQ0Y9coMhB52jpVJYLZlCdNLvd9zGTebwO/TBBAPLasLusVacQN4W
|
||||
Sp33RSS/VMQjx1rnmvnltu+0TKXFUYL620Mn6woEhiF/ahXYgcRqz2im2520YNIK
|
||||
mpz6laU6kc4bNTD6ynQtZ+ZWorC+NrENMhh+T8oX7BPqBKK6T/fuLSiGJfNecaUH
|
||||
TfH2O9DIiZZ0AP8sAz+Dcjz21sm0Sh2iRSntycbIrhON5nvV/mVDXxOjZ0ZbS3wm
|
||||
fs8JRvMOk5tXcH4u8y6Z66z19JGjcXnp6FpTfn0mjfy7HcMGN/6OaykVDDQbng7q
|
||||
Z9DLXlXjN1dNiLELPVQAfUZNy/KbUPy4GI7uifcCGIcx4V1kW2XDGe8tzDMwNUhS
|
||||
ToS8r0F2VnYcfu+dPXZ2OOWxf+ZT1Mp5shzbCK+ZWWn2/e8t2h2pRFCMgVOmJrWd
|
||||
yRpNS/zoDjcGp6eLBWragpA2fhOPNktXMH4r2iYfhQkkk+qIrr4=
|
||||
=s8Ri
|
||||
-----END PGP SIGNATURE-----
|
3
roundcubemail-1.6.8-complete.tar.gz
Normal file
3
roundcubemail-1.6.8-complete.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8468be0204a734c574adef4be01578c7dc4fab9c2fe34003bf341a2bd20efd2a
|
||||
size 5899212
|
17
roundcubemail-1.6.8-complete.tar.gz.asc
Normal file
17
roundcubemail-1.6.8-complete.tar.gz.asc
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJHBAABCgAxFiEEiXDjemmK93XYfVkNwpRqlgnNVrQFAmavVQUTHGRldnNAcm91
|
||||
bmRjdWJlLm5ldAAKCRDClGqWCc1WtKZ3EADiC6a2RyTGOMcHsS4OgKzpXfPRJ2qw
|
||||
6Eh/1/VXX0AqJsTGIFXfVJuljFrTE1YQCiWUusiMrhZDIC4kIcFZGxTJQxDLecWn
|
||||
uuW+rnyjjqOvWUCBzGCcwOXQRB1sj4XOGLrduN05U0bkGLs918OmjrISYhpXLZzK
|
||||
oxArBXiz74v+BIBd4Ee0JgqQQ3pltC5x547bOOOuLQPb0dCl3fBHzXUYvE7m1U+t
|
||||
WRtaB3UUtYRGysbyQbgV0EoyZqHF4VYEV5obGOxm4OMGMeO0Kx9fw/zv2lMvu5gg
|
||||
Xm19rub08SUX85HB21sw53tUSiDORn0LvJoOkRHMwGMqwO1u7zh6Jvdl/FR2SXLK
|
||||
h52N0lLRY+RyNsXj5asJD7h9E/kNcU9bWV+FtSDeqtH3iSNZ79xKRm+nz5I9To6B
|
||||
niaIYWn5PwvE32tJUtAJ93Aq32BGxq10F4aV+6imCUYOLJ2B4LQnk6gXCdB+FbiF
|
||||
LVGkU5VEt/a4+nWdfzIYW/uThTNOAQMA/BTWipEGybpuQxxdJeoMGujQRlkTL38J
|
||||
CtS2xuXxR9zPRnNTZpFDVQcvuOM3vY4mhWzdDXBrJ+xx4YNbze0UtHUR6c+0LEd+
|
||||
4uAIfUDy6dcHOVnm/60ae6eL1TjAyrglPDqQxhLMDmDlS8c5++1zQmcm8Ji9eVMI
|
||||
r5mki4B+78fygg==
|
||||
=a8Gh
|
||||
-----END PGP SIGNATURE-----
|
3
roundcubemail-1.6.9-complete.tar.gz
Normal file
3
roundcubemail-1.6.9-complete.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b61a5f5c22f890c299e935aacfcf0870676990d8aebff0d6cdff075bf17cef4f
|
||||
size 5899444
|
17
roundcubemail-1.6.9-complete.tar.gz.asc
Normal file
17
roundcubemail-1.6.9-complete.tar.gz.asc
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJHBAABCgAxFiEEiXDjemmK93XYfVkNwpRqlgnNVrQFAmbUI18THGRldnNAcm91
|
||||
bmRjdWJlLm5ldAAKCRDClGqWCc1WtH0gD/9NelCSaDRSXciqL+93I6NHOu8hGitt
|
||||
y32JSEhv8AviKjSxPqVJ83x9gjDUW08QASdQtppAPMVsid19J7egZesLE4geCStE
|
||||
ryrHW/ELvAqG865SydO5iLxfkzRcnK5sJ5ZKi1tgWXaBoctakV41OqnJVO0Q+YtL
|
||||
bCu/tF3tqaLsRjCXLcT8+JEV+jAPHMxLgiWcy6QJ+UX5bhY7Op1ZFT5hgcgwFtqE
|
||||
KGWGktd6Igix97/kFcJ71GnV7MyYIsvtQ94o7B0Uvh4Y7X4iPfwsxBMdAbch1oq1
|
||||
h2R6QBIrJQmP5V+xB2QMXO4w/PTekT3p3exS3HKROdKyGlLUrNdGYPerqglZ/Wr+
|
||||
VD3gGGw2tSSPNigmqMx7Zsglwe9waWD/hQEKnfH/lckyK1tp67+2aFdIQK7y5K32
|
||||
M/4vLmWRLCjjbdROipbrXl2vr/ND7l8Sm6+joVQco8O1dankSuJ8YcQeq4NMu++S
|
||||
zXdSTe2XQi5M6QZTIEGSG+J6jDBNXoq2wNRv9QcjFrW9/vSgQb7SzG/v3U7tXUWf
|
||||
qt9b2ieKORbqMPeJyLy6raxZrvCnziB+DfmFJKCfCzgi+ZaGXazDbcpSf/UzXrz3
|
||||
CPJKjzkiVG9yi/x1IwN6ZZTXA6orQDw5cgcB7tCFtK6/BTvrDUmpAW86sWqJ7JWu
|
||||
Txz5ibozQbQPgA==
|
||||
=WHA/
|
||||
-----END PGP SIGNATURE-----
|
13
roundcubemail-config_dir.patch
Normal file
13
roundcubemail-config_dir.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: roundcubemail-1.4.8/program/include/iniset.php
|
||||
===================================================================
|
||||
--- roundcubemail-1.4.8.orig/program/include/iniset.php
|
||||
+++ roundcubemail-1.4.8/program/include/iniset.php
|
||||
@@ -28,7 +28,7 @@ if (!defined('INSTALL_PATH')) {
|
||||
}
|
||||
|
||||
if (!defined('RCMAIL_CONFIG_DIR')) {
|
||||
- define('RCMAIL_CONFIG_DIR', getenv('ROUNDCUBE_CONFIG_DIR') ?: (INSTALL_PATH . 'config'));
|
||||
+ define('RCMAIL_CONFIG_DIR', getenv('ROUNDCUBE_CONFIG_DIR') ?: '/etc/roundcubemail');
|
||||
}
|
||||
|
||||
if (!defined('RCUBE_LOCALIZATION_DIR')) {
|
323
roundcubemail-httpd.conf
Normal file
323
roundcubemail-httpd.conf
Normal file
@ -0,0 +1,323 @@
|
||||
# You might want to set up a virtual host for the server, but it is
|
||||
# not a requirement. You can as well reach the server under its
|
||||
# common name under https://yourroundcubeserver.example.com/
|
||||
#
|
||||
# NameVirtualHost *
|
||||
# <VirtualHost *>
|
||||
# ServerName yourroundcubeserver.example.com
|
||||
# DocumentRoot __ROUNDCUBEPATH__
|
||||
|
||||
|
||||
<IfModule mod_alias.c>
|
||||
Alias /roundcube "__ROUNDCUBEPATH__/public_html"
|
||||
Alias /roundcubemail "__ROUNDCUBEPATH__/public_html"
|
||||
</IfModule>
|
||||
|
||||
# AddDefaultCharset UTF-8
|
||||
AddType text/x-component .htc
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/public_html">
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_php5.c>
|
||||
Include @apache_sysconfdir@/conf.d/@name@.inc
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_php7.c>
|
||||
Include @apache_sysconfdir@/conf.d/@name@.inc
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
Options +SymLinksIfOwnerMatch
|
||||
RewriteEngine On
|
||||
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
|
||||
|
||||
# security rules:
|
||||
# - deny access to files not containing a dot or starting with a dot
|
||||
# in all locations except installer directory
|
||||
RewriteRule ^(?!installer|\.well-known\/|[a-f0-9]{16})(\.?[^\.]+)$ - [F]
|
||||
# - deny access to some locations
|
||||
RewriteRule ^/?(\.git|\.tx|\.md|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
|
||||
# - deny access to composer binaries
|
||||
RewriteRule ^/vendor\/bin\/.* - [F]
|
||||
# - deny access to some documentation files
|
||||
RewriteRule /?(README|INSTALL|LICENSE|CHANGELOG|composer\.json-dist|composer\.json|package\.xml|Dockerfile)$ - [F]
|
||||
# security rules
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
SetOutputFilter DEFLATE
|
||||
</IfModule>
|
||||
|
||||
# prefer to brotli over gzip if brotli is available
|
||||
<IfModule mod_brotli.c>
|
||||
SetOutputFilter BROTLI_COMPRESS
|
||||
# some assets have been compressed, so no need to do it again
|
||||
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|web[pm]|woff2?)$ no-brotli
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_filter.c>
|
||||
AddOutputFilterByType DEFLATE application/javascript
|
||||
AddOutputFilterByType DEFLATE application/x-javascript
|
||||
AddOutputFilterByType DEFLATE application/xhtml+xml
|
||||
AddOutputFilterByType DEFLATE application/xml
|
||||
AddOutputFilterByType DEFLATE application/json
|
||||
AddOutputFilterByType DEFLATE text/css
|
||||
AddOutputFilterByType DEFLATE text/html
|
||||
AddOutputFilterByType DEFLATE text/plain
|
||||
AddOutputFilterByType DEFLATE text/x-component
|
||||
AddOutputFilterByType DEFLATE text/xml
|
||||
<IfModule mod_setenvif.c>
|
||||
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
|
||||
BrowserMatch ^Mozilla/4 gzip-only-text/html
|
||||
BrowserMatch ^Mozilla/4.0[678] no-gzip
|
||||
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
# for better privacy/security ask browsers to not set the Referer
|
||||
Header set Content-Security-Policy "referrer no-referrer"
|
||||
# don't cache, please
|
||||
Header merge Cache-Control public env=!NO_CACHE
|
||||
<IfModule mod_ssl.c>
|
||||
# HSTS - HTTP Strict Transport Security
|
||||
Header always set Strict-Transport-Security "max-age=31536000; preload" env=HTTPS
|
||||
</IfModule>
|
||||
# X-Xss-Protection
|
||||
# This header is used to configure the built in reflective XSS protection found in Internet Explorer, Chrome and Safari (Webkit).
|
||||
Header set X-XSS-Protection "1; mode=block"
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresDefault "access plus 1 month"
|
||||
</IfModule>
|
||||
|
||||
FileETag MTime Size
|
||||
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</ifModule>
|
||||
</Directory>
|
||||
|
||||
#
|
||||
# Special directories
|
||||
#
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__">
|
||||
Options -FollowSymLinks
|
||||
AllowOverride None
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/bin">
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/config">
|
||||
Options -FollowSymLinks
|
||||
AllowOverride None
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/logs">
|
||||
Options -FollowSymLinks
|
||||
AllowOverride None
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/migration">
|
||||
Options -FollowSymLinks
|
||||
AllowOverride None
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/migrated">
|
||||
Options -FollowSymLinks
|
||||
AllowOverride None
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/plugins/enigma/home">
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/program">
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteRule !^js|.*\.gif$ - [F]
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
<Directory "__ROUNDCUBEPATH__/temp">
|
||||
Options -FollowSymLinks
|
||||
AllowOverride None
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
||||
#
|
||||
# </VirtualHost>
|
||||
|
22
roundcubemail-httpd.inc
Normal file
22
roundcubemail-httpd.inc
Normal file
@ -0,0 +1,22 @@
|
||||
php_admin_flag display_errors off
|
||||
php_admin_flag log_errors on
|
||||
#php_admin_value error_log logs/errors
|
||||
|
||||
php_admin_flag magic_quotes_gpc off
|
||||
php_admin_flag magic_quotes_runtime off
|
||||
php_admin_flag register_globals off
|
||||
php_admin_flag suhosin.session.encrypt off
|
||||
php_admin_flag zlib.output_compression off
|
||||
|
||||
php_admin_value upload_max_filesize 5M
|
||||
php_admin_value post_max_size 6M
|
||||
php_admin_value memory_limit 64M
|
||||
|
||||
php_admin_flag session.auto_start off
|
||||
#php_admin_value session.cookie_path /
|
||||
#php_admin_value session.hash_function sha256
|
||||
php_admin_value session.gc_maxlifetime 21600
|
||||
php_admin_value session.gc_divisor 500
|
||||
php_admin_value session.gc_probability 1
|
||||
# http://bugs.php.net/bug.php?id=30766
|
||||
php_admin_value mbstring.func_overload 0
|
1
roundcubemail-rpmlintrc
Normal file
1
roundcubemail-rpmlintrc
Normal file
@ -0,0 +1 @@
|
||||
addFilter("E: devel-file-in-non-devel-package")
|
2322
roundcubemail.changes
Normal file
2322
roundcubemail.changes
Normal file
File diff suppressed because it is too large
Load Diff
102
roundcubemail.keyring
Normal file
102
roundcubemail.keyring
Normal file
@ -0,0 +1,102 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFcNX2kBEACmCY1yOI8MUk0fHtMOqxzDwA/CH0yN2nQu/mNiwOzx9pCtpX2u
|
||||
F//FAql2Ob8ZVpwichouC//y7+dpqhzF+1TQYKZP9wtR4f5Y5T4SEDMGS+mhsdvO
|
||||
LBSSpbteLtwbWrWU7CGTx6ohGO15VYfLagVKUvKkslSXFgWAfH+VrD1x05AlNeio
|
||||
rgbdHLZsh5+JhqiyOMg8lsLkUA5mwe75TLjMF7xS3BKqBlnE7grWUfBs3/5vhIiu
|
||||
/vsmnLX98tbBk6ZY+FB0xuzqiA8rW1LCB0d8eIBHnU1Xi0n1ebEG2xqtxV2Kprvj
|
||||
NZDIZfOrTRqoP0fe36PxWXGHoR7tntWyqXfC3ZWgw00S7wrp0f3YZAASVbj2863i
|
||||
gMs06zSHhVKnKqo6r+eDRcie+CRvtRVlh3PKaluh1ea+ad8A3BK1F8MKEpm3zBAn
|
||||
/RP+p0ZNa0K3IDkuacG/yJ8f+VAeJl5KYu6Uv3+jADbCUuZFbm8ZGDoT1qcxkATd
|
||||
S35D26oe41STPRUMppb+aJFMbgFLQLE5lHPEROUG1I5trrV9cfi5zP4G1A9bc9Cj
|
||||
B9m5kyz5tmST1WVYB2yFsngYCIRx2sbQwAY8z2JThTUUWL6KaJuwcFXInGQqjUU1
|
||||
GJHBGED0lduVnK3WgVKNLthABFMXJ34dzxPsiAJ68295OhUP9G4Qvo5DzQARAQAB
|
||||
tClSb3VuZGN1YmUgRGV2ZWxvcGVycyA8ZGV2c0Byb3VuZGN1YmUubmV0PokCOQQT
|
||||
AQgAIwUCVw1faQIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEFqyuqFB
|
||||
xPfVN3IP/2ANH6mgd66Acz7AuUp9YhZ6A00VkrGfmdju9aA8LuEBdt2dUyUIvzzm
|
||||
BqKbIfotbpn7lpJsDRV2L2alDUL0fvVcuH6vy1u/LrAOVXPuE0ACyRuwBIzmKV8g
|
||||
iJYES5FOVVfjZh/k+rdWDj654ohOyQxPYiW/213/MNonbgodXk5H+jTMGxsVJHhi
|
||||
VyRwiwzkFV9qozb+R/fCirCayHL6v0A0HWtAwXbHabZUoHXEY/XtQFnvEw1HR3u5
|
||||
1nIl17ClaKtoOeXh35ONXqu27Xzxw/skqOVUj3LNzZN7IhR4PzKaTCg4g6n1ngyU
|
||||
VgrXIS6JLwLSyyurkdGCIKifW/5BqmikXdp6oJ6x3/nDzg7IzpEbipetiYsVVjZG
|
||||
aZkuATC+Pj/kW/AmWYX9vxxEDnVEu6r71zMWIqiEzu+8JoO2IvvuU5tvbbMhRze7
|
||||
/tc/WxZSYOzaudb6Bi/4FX2x8l6FGiIP/xI6Gpyjd5HwRWYnUqv7pBqyzs0Z15vG
|
||||
roYcayLaFAhLCxBnBhUVbwVoRif4h9ihPc6PndZp/nOIAOpNGVqZbXcoXjz+Ugvb
|
||||
icGKul/q7t1vl+3cf0bBT8O918TvzVXJIixnW/f9rdPAGT0KtsE7B7UXxOkV3xpC
|
||||
uh+kA0W8huJLaEWFZ5izBixkhzdLwITJD2VQ/TVuwHSI2A4kFnF5iQIiBBMBCAAM
|
||||
BQJXDWCdBYMHhh+AAAoJED5UKNAmLFT4KOoQAJ7qQ25imKrnebNVQ7unSCDIcZ7n
|
||||
wc7MGlOCmO0txGtDgaVZy2pvBd/zIliYtrGkbkDpMTTVds73/XofLJ+n41nNLPI7
|
||||
jDdVOnYpcu2bj74KUQRY+2WQ6riewsFUF52FtNOegsIj8JXmK58CPoW3M/uVZRdf
|
||||
ISVAUHkQuP9YWJoeToB/RXqICCRX3DfUgFSbHaEVRqpln+mnljopNBrDMe9ZthC2
|
||||
6Py8HwhshtBiwcP9NlaGTeG+Ks2A7Ujt2BUgBWyN4ouf8ehmyjD5D9RCxjPh7lof
|
||||
Ap8JhGpbd8Yu97Ax8bwZcHZ1ePx9NxcC+PFf6wK3jK464Vx7JTKk4gS3Ktk/+adA
|
||||
b9dasn+/OOaWwzHkpBTUJP7gW1pv8xhA+Op2VqwRNqB2WfiqOHyydQSZKJVncdA6
|
||||
/p3p4ABluPtbe8L1SE0ZDEOGjXwTMxH3ssDLlQ4BlqlWzhudeNv9Tizd8tlgtBvg
|
||||
VprEpWd++JovQs8MmEcoLaDS1DSglEsoRnrpCJ1vkacQZlN2wpv7PEEmH8SBaYU7
|
||||
xRZhRmc1arRFnelVo4OPzLTSMSFjZIdmMs8Lfzrw2fRGesrJGpb3DnVphwML1aXp
|
||||
mSFHKuXDqDVMW+Ey437KadG/Bd92q4FEeyCjjoHYa2C86dZG1yMfuVVMfvVz0A+v
|
||||
lSR6abLAK3f+VO1piQEcBBMBAgAGBQJXGG4NAAoJEL7mdKAZNZ3BLmkH/i03cRxM
|
||||
WU9baZgpZ7IkIz77tJJdcW51dZKy04FhbFKH6Qlp6WcGHEPy6EZWRdktJlSXTc+T
|
||||
/1lhlXeRPGesqvIAqnDfOayKf2rihBoAfPQCzxaJOAldt0KdDX6zGIYa4Xqappla
|
||||
kPLHeCSKhGm8eYf7IQjiq3AoMRvtGDtv8ygrA7sN8vc7Ftr1fg3s8UaB8QULLRD4
|
||||
INRgxfuPG9St5V5zYV/3Xf/61uOlNfxxikx5PCHle4jKJGkP+smXON4l8+XPyhSG
|
||||
US7aIGalr58acv0VZHFkTaCi+96s14df0XRENO5D4l5n18PiHQvh/th995ba96K/
|
||||
8jrcY7f8wjM0OYm5Ag0EVw1faQEQAPII9TY0LeEWP+4/FFQCBmgXR+aWjMK0O3fa
|
||||
BuPzL/VVHQJ3i41PvvP+Osb7BYPFTxPWkvVF2J1bLZfH1wFq+hMfEOkGMGtBFOP2
|
||||
VxWEYxMondktMhKDHT5EppPwqsZYPqlNz6Sk/bW81IXKtSG/hvPyBDv1+GaHZlz+
|
||||
NJrKjVlBN+6U4noM2P9n/QPCd5VmkZMWzCfbtmGZKHspOJswMhcW28YvMmYTK+0b
|
||||
ZcKCs2S2wgfM8d5EEeoYTXH6PqxfW3ezZXQ5ieM1sub59GnS+7gqxPEs+LyVQtxT
|
||||
7dgCnZQ73tmQP3pG2Zx0pKQHK/hZk8R6aEaYtV1QlfUI1TMG1eH+xHXGSWFnCbiX
|
||||
cGLltaLFBX11+qwF50FfYu8MRUM9rKW+ms2wBVmHuSGKgn0lglBGU2s/pPPw6Alu
|
||||
GWa289vGdnztoQyY33L3u/la0wCBbM/8JxZYZdmTq1iL0oYuPbn3axfa6JCX9CwC
|
||||
KQjOcJe8K+scRsSFI23M3ZySVgKpkOdhz9VfBZHTqMpbsTd8kNHBDu5J3C0v2NsV
|
||||
gJsqI5c3cVtaGPL2NVdfjZ668aXs89JA0Sc9Q1ppiDQX2ArNbq0ZRG4pGfAP3zA9
|
||||
6RyfHTgM9PZ5M4BReeWJCYQb6UI8Uw/NlUYsMMMbi8yqhIkXCY0U7I0ZKtVUSHSR
|
||||
W6gftdEhABEBAAGJAh8EGAEIAAkFAlcNX2kCGwwACgkQWrK6oUHE99XmpA/5AXxm
|
||||
SfeyUcUUaMH+n1EJt7lH6u8Tg4WxoSpSoF/GrArEBfdDGmUog2kR8cgyTFKjtiuP
|
||||
icCIapeezP2QMxWfm0TTITtFiHAUJZn0642SY4uXI/73Bwa0r5Vi1UevaFrRPkee
|
||||
0Jt3Tg45nvkUNQBuRK81Wr2o+EuNiMgssd78MHiWjllVptFg0GnfE1VUeMeM8Rwa
|
||||
QnVzVyYZbqe4jL20+QCba/zyrcQgcxZ/gtojADpPHojI2BQlsXnIhrSlXYXIDhmF
|
||||
SCG4+RdUq+JVI8vjO42bHA51gGyvZR7Fh7tcdU++U6wbhF5gkzB3v+NjHxwmcI/t
|
||||
pnrTP7nT1rZOUdyuKSJkcCUa3l8u+bqlxgQ3r+PJOXuW5Tn53HYkxdTSgzFwc9GS
|
||||
SvyTZnz/JYE241Yf14Vjn8fZqPsN+uplc4b42G08gQi0Juni7W5dPo3Jl+7MgXJR
|
||||
0vBtCEuZLJ49ZUpKwf0vS1aDDfMNA4ESs/TagIakUMGNH0tVsEm5YNMoNx9qZA3a
|
||||
rJT+ZhpZNFBW94QU3hQ+hbtyR/0rO8BGlpA0XLhNoPUNhgWMobgWAIA9kEQilm1Y
|
||||
tPDS5EHhsAiLi60/bIuti4T0nhxlgw+yfeb5kEnm5v5XYSj5w0XzfyGirfV80QP4
|
||||
7CE8GKy2q+e3xau15t/eVvMtYd2RDgykqIjvwtC5Ag0EVw1f/QEQAO2JeXBrzcBt
|
||||
TeUcPA70W9quirv4wnXtUTwAGRXklK/OaKPruPTPJIQu6qdimJO+p6KbWP4mD8b9
|
||||
t7mWilDpJO3omZKqMqCRqd+TPp0rzvHde1QhwCNIByCIkrTjcsq2JuGTSEME09Aa
|
||||
nOTE5/UeThTeXI+xvta63kpHgBolBunMUwPlde36KOUgWktr6NiCr3CQ1MtzDuBl
|
||||
wEAi1/K8/mkIU5SXmmC7NOKQVsK/HCpuhkT0fZY4RGIHlauIiOs8vXvJ9kajkvF+
|
||||
HJcmsQ/8GuMELVKi/V9BnObCCL49EykK5s5VEF4guQ4r3ElbS/PXvE4OXL+0vmBR
|
||||
YQFdVUdHNS36LErGzYIgghQIgDF1JS08EuoD86+fVHwwbupCp9SMQRWjrvWroipG
|
||||
Sk6K3BJfM9deZhuMH2j2ab4OleHZdJH+4PLIa+NwXMhuvKPJPKXmP5c1Seu7AyON
|
||||
hUQEU/lHEW03NvS4nh/ArM/za+dFplzSSaoUq8Qhr3AeyAVd+4PXgpbj7pIdfaBI
|
||||
IADx/uFYLLcc/whD/2C2t37h3TIjR18IS05aiGHDJyZ9eV2K/wf8kZ7Xq4ix+6Or
|
||||
Jt37g2/klHsvHo3kb+6XPpo263+pRj/bcA2vUA3c26cZ8nCsHu9K4aN4VN8DTTPS
|
||||
YYT9940OfRh8CRCNlcVerfbjNAE3fgnbABEBAAGJBD4EGAEIAAkFAlcNX/0CGwIC
|
||||
KQkQWrK6oUHE99XBXSAEGQEIAAYFAlcNX/0ACgkQwpRqlgnNVrRIXRAA48pg+pQG
|
||||
aqghqsVPtRt4yZy3zc0RDr5vV3r00Tqutg7l1J/8gNm9NayyBX0BEY+bKvNPeNjl
|
||||
gNkXCSH7eXX1mvUJuUUnbqJv+MT3roCcvLz6KLdQQdHarJSs4LmqF9/4NfHsSecg
|
||||
jq3Y9fsG5sNf/a7BraIcdlOq92t0DlpAmAtm10ywUXJPc1uAxqd/2QyfuPQE/eoR
|
||||
rmGnKR1W6FO1cAZYVWd3hyPAyr/EHHJonycpp8CKCe9CLu3iFXR8+GVq7ZiDVNk+
|
||||
MHMYg1Njfk3TY/UEUGXqFfTsD47S8fqEV/koWSSxTkSwPjwVP1z0yu9cV87ULeJN
|
||||
LDdwyFvmTrQv71YkAD12CchRymqLxtItSF1QMiHBFXTICreYGk41pS89KNshgFpe
|
||||
WfRq6WpPegUj1qdM/GJuBvSu7CTT2mpQQNk4maIIeUPcHRCA//H3WvXj3jMp3CFK
|
||||
S82YYDkUW/XWkWIRmpALrX8gSYlthKFf24RZZFrAd7NfSq1Hy0RjAwtm0+LsRTtT
|
||||
znzTUr2SocCEGqFjiczIJ/4zQ+25N2PPg1G5lCrIeE7VOifKD3jujMYiAEr6QUUm
|
||||
Vldw7Rn0tmJIiq0bc3MbadUxrT0PJXxOlQpfV2ZjM76gMpvvSCe6o6mckDT4sT3G
|
||||
4vfc02Pe4g4DYpVPlV/GE1T26NzK1Z3ONFzhLQ//abRaJKfy19+lNNJoGfGGLher
|
||||
AdymumxmGZf74wS6xAlP+LwJldUA8iidSxM0gR6bmw8q2SO7dqziGreaPaFVmeUB
|
||||
62rSXD0QSielIoRP1QZuD1ZO5tEZ2wxjcCnaBj2nG3bBj4RJ7FAD9CceSyPJFNYD
|
||||
n6cvslV/MGzacMtTTIwdFJmHaoU86heADWkYIFm/jndYX6b/IdJDNOYDYA4m+5S8
|
||||
ANQ3uOuaBMDo4sOAUCeophdjZeyne2kIWR7kmWis5kFf/Criy6u+yPs+a7kt+PbI
|
||||
2Uo1rmrNUiMiROkezbnZAEf/8wUi7KgRjZ6qfij/QM+0WMeUWu8NRqiS+KRLQIh7
|
||||
Y8f3u0ddlfGF7/UpAEXzv2KKpLO+SaUkvaatZucOD/hbDThqOVCtX7mQ03XTO9Pn
|
||||
SHVSxBsJse4Jn/n6oCt6FT7wMbh3IuZTeU7kiT9VO8+M/ehUS0sIbwwsYrdAT2Od
|
||||
/Txs7jWinvsuH/qsNFVDrxKKcFQi99m0Zm3IIo2DX5PUo9KvPO8xzZgFKQDOIKBw
|
||||
1PNQr0xRqbI1dsFcaN2yqF4hrYYmn4bDJCOMHV3gxltFaLU/rj7atdIWGOPzw/1N
|
||||
WQujs2OMoiJWTidcd/LTxbEvEDyS9vMiIXrAoadvRtBxmFqJfcmRhOrbKIcA4A65
|
||||
0dXJnhEe7eXkwBbfEzk=
|
||||
=lBKd
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
18
roundcubemail.logrotate
Normal file
18
roundcubemail.logrotate
Normal file
@ -0,0 +1,18 @@
|
||||
/var/log/roundcubemail/console
|
||||
/var/log/roundcubemail/errors
|
||||
/var/log/roundcubemail/imap
|
||||
/var/log/roundcubemail/ldap
|
||||
/var/log/roundcubemail/sendmail
|
||||
/var/log/roundcubemail/sieve
|
||||
/var/log/roundcubemail/smtp
|
||||
/var/log/roundcubemail/sql
|
||||
/var/log/roundcubemail/userlogins
|
||||
/var/log/roundcubemail/*.log
|
||||
{
|
||||
missingok
|
||||
compress
|
||||
notifempty
|
||||
size 30k
|
||||
su wwwrun www
|
||||
create 0660 wwwrun www
|
||||
}
|
353
roundcubemail.spec
Normal file
353
roundcubemail.spec
Normal file
@ -0,0 +1,353 @@
|
||||
#
|
||||
# spec file for package roundcubemail
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define roundcubepath %{apache_serverroot}/%{name}
|
||||
%define roundcubeconfigpath %{_sysconfdir}/%{name}
|
||||
|
||||
Name: roundcubemail
|
||||
Version: 1.6.9
|
||||
Release: 0
|
||||
Summary: A browser-based multilingual IMAP client
|
||||
License: BSD-3-Clause AND GPL-2.0-only AND GPL-3.0-or-later
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
URL: https://www.roundcube.net/
|
||||
Source0: https://github.com/roundcube/%{name}/releases/download/%{version}/%{name}-%{version}-complete.tar.gz
|
||||
Source1: %{name}-rpmlintrc
|
||||
Source2: %{name}-httpd.conf
|
||||
Source3: %{name}-httpd.inc
|
||||
Source4: README.openSUSE
|
||||
Source5: %{name}.logrotate
|
||||
Source6: https://roundcube.net/download/pubkey.asc#/%{name}.keyring
|
||||
Source7: https://github.com/roundcube/%{name}/releases/download/%{version}/%{name}-%{version}-complete.tar.gz.asc
|
||||
Source8: robots.txt
|
||||
# PATCH-FIX-OPENSUSE roundcubemail-config_dir.patch -- use the general config directory /etc
|
||||
Patch0: %{name}-config_dir.patch
|
||||
BuildRequires: apache-rpm-macros
|
||||
BuildRequires: apache2
|
||||
BuildRequires: php-cli
|
||||
Requires: php-dom
|
||||
Requires: php-exif
|
||||
Requires: php-gettext
|
||||
Requires: php-iconv
|
||||
Requires: php-intl
|
||||
Requires: php-json
|
||||
Requires: php-mbstring
|
||||
Requires: php-openssl
|
||||
Requires(pre): mod_php_any
|
||||
Requires: mod_php_any
|
||||
## Requires: for upstream dep package
|
||||
Requires: php-pear-Auth_SASL >= 1.0.6
|
||||
Requires: php-pear-MDB2_Driver_mysqli
|
||||
Requires: php-pear-Mail_Mime >= 1.10.0
|
||||
Requires: php-pear-Net_IDNA2 >= 0.1.1
|
||||
Requires: php-pear-Net_LDAP2
|
||||
Requires: php-pear-Net_SMTP >= 1.8.1
|
||||
Requires: php-pear-Net_Sieve >= 1.4.3
|
||||
Requires: php-pear-Net_Socket >= 1.0.12
|
||||
Requires: php-sockets
|
||||
Requires: (php-mysql or php-pgsql)
|
||||
Recommends: logrotate
|
||||
Recommends: php-fileinfo
|
||||
Recommends: php-imagick
|
||||
Recommends: php-pear-Crypt_GPG >= 1.6.3
|
||||
Recommends: php-zip
|
||||
Suggests: php-mysql
|
||||
Suggests: php-sqlite
|
||||
Conflicts: roundcube-framework
|
||||
Provides: roundcube_framework = %{version}
|
||||
BuildArch: noarch
|
||||
BuildRequires: fdupes
|
||||
|
||||
%description
|
||||
Roundcube Webmail is a browser-based multilingual IMAP client with an
|
||||
application-like user interface. It provides MIME support, address
|
||||
book, folder manipulation, message searching and spell checking.
|
||||
|
||||
Roundcube Webmail is written in PHP and requires a MySQL database.
|
||||
The user interface is skinnable using XHTML and CSS 2.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
cp %{SOURCE4} .
|
||||
# remove cruft from source archive:
|
||||
# .arcconfig => file for phabricator.uri
|
||||
# .gitignore => git config file
|
||||
# .php_cs.dist => PhpCsFixer
|
||||
# .scrutinizer.yml => PHP mess detector
|
||||
# .travis.yml => Travis CI descriptions
|
||||
for file in .arcconfig .gitignore .php_cs.dist .scrutinizer.yml .travis.yml ; do
|
||||
find . -name "$file" -delete
|
||||
done
|
||||
# remove 0-byte files
|
||||
find . -size 0 -delete
|
||||
# no need to check .htaccess each time, the apache config takes care of the restrictions
|
||||
find . -name ".htaccess" -delete
|
||||
# remove travis files
|
||||
find vendor/ -name ".travis.yml" -delete
|
||||
|
||||
# remove obscure sub-directory
|
||||
#rm -rf roundcubemail-git composer.json.rej
|
||||
# remove mssql scripts (not needed on openSUSE)
|
||||
rm -rf \
|
||||
SQL/mssql/ \
|
||||
SQL/mssql.*.sql
|
||||
# remove shebang from chpass-wrapper
|
||||
sed -i '1d' plugins/password/helpers/chpass-wrapper.py
|
||||
# remove INSTALL doc
|
||||
rm INSTALL
|
||||
# fix interpreter for shell scripts
|
||||
sed -i 's|/usr/bin/env php|%{_bindir}/php|' \
|
||||
bin/*.sh \
|
||||
vendor/pear/crypt_gpg/scripts/crypt-gpg-pinentry \
|
||||
plugins/enigma/bin/import_keys.sh
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
# install roundcubemail.logrotate
|
||||
install -d -m 0755 %{buildroot}/%{_sysconfdir}/logrotate.d
|
||||
install %{SOURCE5} %{buildroot}/%{_sysconfdir}/logrotate.d/%{name}
|
||||
|
||||
# extract roundcube-framework
|
||||
install -d -m 0755 %{buildroot}/%{_datadir}/php
|
||||
mv program/lib/Roundcube %{buildroot}%{_datadir}/php/Roundcube
|
||||
# fix path to the roundcube-framework via symlink
|
||||
ln -s %{_datadir}/php/Roundcube program/lib/Roundcube
|
||||
|
||||
# install roundcubemail
|
||||
install -d -m 0755 %{buildroot}/%{roundcubepath}
|
||||
cp -a * %{buildroot}%{roundcubepath}/
|
||||
cp %{SOURCE8} %{buildroot}%{roundcubepath}/
|
||||
ln -s %{roundcubepath}/installer %{buildroot}/%{roundcubepath}/public_html/installer
|
||||
|
||||
# install config
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
||||
cp config/* %{buildroot}%{roundcubeconfigpath}/
|
||||
install %{buildroot}/%{roundcubeconfigpath}/config.inc.php.sample %{buildroot}/%{roundcubeconfigpath}/config.inc.php
|
||||
rm -rf %{buildroot}/%{roundcubepath}/config
|
||||
ln -s %{roundcubeconfigpath} %{buildroot}/%{roundcubepath}/config
|
||||
|
||||
# logs + temp go into /var/
|
||||
rm -rf %{buildroot}/%{roundcubepath}/logs \
|
||||
%{buildroot}%{roundcubepath}/temp
|
||||
install -d %{buildroot}/%{_localstatedir}/log/%{name} \
|
||||
%{buildroot}%{_localstatedir}/lib/%{name}
|
||||
ln -s %{_localstatedir}/log/%{name}/ %{buildroot}/%{roundcubepath}/logs
|
||||
ln -s %{_localstatedir}/lib/%{name}/ %{buildroot}/%{roundcubepath}/temp
|
||||
|
||||
# move some plugin configs to /etc/roundcubemail
|
||||
for PLUGIN in acl managesieve password; do
|
||||
if [ -f %{buildroot}/%{roundcubepath}/plugins/$PLUGIN/config.inc.php.dist ]; then
|
||||
mv %{buildroot}%{roundcubepath}/plugins/$PLUGIN/config.inc.php.dist %{buildroot}%{roundcubeconfigpath}/$PLUGIN.inc.php
|
||||
ln -s %{roundcubeconfigpath}/$PLUGIN.inc.php %{buildroot}/%{roundcubepath}/plugins/$PLUGIN/config.inc.php
|
||||
fi
|
||||
done
|
||||
|
||||
# skins have some configurable files in their directories
|
||||
mkdir -p %{buildroot}%{roundcubeconfigpath}/skins/elastic/styles
|
||||
for file in styles.less variables.less ; do
|
||||
mv %{buildroot}%{roundcubepath}/skins/elastic/styles/$file %{buildroot}%{roundcubeconfigpath}/skins/elastic/styles/
|
||||
ln -s %{roundcubeconfigpath}/skins/elastic/styles/$file %{buildroot}%{roundcubepath}/skins/elastic/styles/
|
||||
done
|
||||
|
||||
# install httpd.conf file and adapt the configuration
|
||||
install -D -m0644 %{SOURCE3} %{buildroot}%{apache_sysconfdir}/conf.d/%{name}.inc
|
||||
# fix paths in http config
|
||||
sed -e "s#__ROUNDCUBEPATH__#%{roundcubepath}#g" \
|
||||
-e "s,@apache_sysconfdir@,%{apache_sysconfdir},g" \
|
||||
-e "s,@name@,%{name},g" \
|
||||
%{SOURCE2} > %{buildroot}%{apache_sysconfdir}/conf.d/%{name}.conf
|
||||
|
||||
# install docs
|
||||
install -d -m 0755 %{buildroot}/%{_defaultdocdir}/%{name}
|
||||
%if 0%{?suse_version} >= 1500
|
||||
TXT="CHANGELOG.md UPGRADING README.md README.openSUSE SQL SECURITY.md"
|
||||
rm %{buildroot}%{roundcubepath}/LICENSE
|
||||
%else
|
||||
TXT="CHANGELOG.md UPGRADING README.md README.openSUSE SQL SECURITY.md LICENSE"
|
||||
%endif
|
||||
for i in $TXT; do
|
||||
mv -v %{buildroot}%{roundcubepath}/$i %{buildroot}%{_defaultdocdir}/%{name}/
|
||||
done
|
||||
|
||||
# move Readme files to docdir
|
||||
for file in LICENSE README README.rst *.md ; do
|
||||
for i in $(find %{buildroot}%{roundcubepath}/vendor -type f -name "$file"); do
|
||||
BASEDIR=$(echo "$i" | sed -e "s|%{buildroot}%{roundcubepath}/vendor||g")
|
||||
BASEDIR=$(dirname "$BASEDIR")
|
||||
mkdir -p "%{buildroot}%{_defaultdocdir}/%{name}/$BASEDIR"
|
||||
mv "$i" "%{buildroot}%{_defaultdocdir}/%{name}/$BASEDIR"
|
||||
done
|
||||
done
|
||||
|
||||
# create a link for SQL
|
||||
ln -s %{_defaultdocdir}/%{name}/SQL %{buildroot}/%{roundcubepath}/SQL
|
||||
|
||||
# Make ghost files
|
||||
mkdir %{buildroot}%{roundcubepath}/migrated
|
||||
mkdir %{buildroot}%{roundcubepath}/migration
|
||||
|
||||
# fdupes
|
||||
%fdupes %{buildroot}%{roundcubepath}
|
||||
%fdupes %{buildroot}%{_defaultdocdir}/%{name}
|
||||
|
||||
%pre
|
||||
# backup logs, temp and config for migration
|
||||
if [ ! -h %{roundcubepath}/logs ] && [ -d %{roundcubepath}/logs ]; then
|
||||
mkdir -p %{roundcubepath}/migration
|
||||
mv %{roundcubepath}/logs %{roundcubepath}/migration/.
|
||||
fi
|
||||
if [ ! -h %{roundcubepath}/temp ] && [ -d %{roundcubepath}/temp ]; then
|
||||
mkdir -p %{roundcubepath}/migration
|
||||
mv %{roundcubepath}/temp %{roundcubepath}/migration/.
|
||||
fi
|
||||
if [ ! -h %{roundcubepath}/SQL ] && [ -d %{roundcubepath}/SQL ]; then
|
||||
mkdir -p %{roundcubepath}/migration
|
||||
mv %{roundcubepath}/SQL %{roundcubepath}/migration/.
|
||||
fi
|
||||
|
||||
for PLUGIN in acl managesieve password; do
|
||||
if [ ! -h %{roundcubepath}/plugins/$PLUGIN/config.inc.php ] && [ -f %{roundcubepath}/plugins/$PLUGIN/config.inc.php ]; then
|
||||
mv %{roundcubepath}/plugins/$PLUGIN/config.inc.php %{roundcubepath}/migration/$PLUGIN.inc.php
|
||||
fi
|
||||
done
|
||||
|
||||
%post
|
||||
# replace default des string in config file for better security
|
||||
makedesstr() {
|
||||
local chars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
local max=${#chars}
|
||||
for i in $(seq 1 24); do
|
||||
echo "$chars" | dd bs=1 skip=$(($(od -An -d -N2 /dev/urandom) % $max)) count=1 2>/dev/null
|
||||
done
|
||||
echo
|
||||
}
|
||||
|
||||
sed -i "s/rcmail-\!24ByteDESkey\*Str/`makedesstr`/" %{roundcubeconfigpath}/defaults.inc.php || : &> /dev/null
|
||||
|
||||
# Update ?
|
||||
if [ ${1:-0} -eq 1 ]; then
|
||||
if [ -x %{_sbindir}/a2enmod ]; then
|
||||
# enable required apache modules
|
||||
%if 0%{?suse_version} > 01500
|
||||
PHP_MODULE=$(php -r "print 'php' . PHP_MAJOR_VERSION;")
|
||||
if ! grep -q php %{_sysconfdir}/sysconfig/apache2 1>&2 2>/dev/null; then
|
||||
%{_sbindir}/a2enmod -q $PHP_MODULE || %{_sbindir}/a2enmod $PHP_MODULE
|
||||
fi
|
||||
%endif
|
||||
for module in alias brotli deflate expires filter headers rewrite setenvif version ; do
|
||||
%{_sbindir}/a2enmod -q $module || %{_sbindir}/a2enmod $module
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
# restore backed up logs, temp and config
|
||||
if [ -h %{roundcubepath}/logs ] && [ -d %{roundcubepath}/migration/logs ]; then
|
||||
mkdir -p %{roundcubepath}/migrated
|
||||
cp %{roundcubepath}/migration/logs/* %{roundcubepath}/logs/.
|
||||
mv %{roundcubepath}/migration/logs %{roundcubepath}/migrated/.
|
||||
fi
|
||||
if [ -h %{roundcubepath}/temp ] && [ -d %{roundcubepath}/migration/temp ]; then
|
||||
mkdir -p %{roundcubepath}/migrated
|
||||
cp %{roundcubepath}/migration/temp/* %{roundcubepath}/temp/.
|
||||
mv %{roundcubepath}/migration/temp %{roundcubepath}/migrated/.
|
||||
fi
|
||||
if [ -h %{roundcubepath}/SQL ] && [ -d %{roundcubepath}/migration/SQL ]; then
|
||||
rm -r %{roundcubepath}/migration/SQL
|
||||
fi
|
||||
for PLUGIN in acl managesieve password; do
|
||||
if [ -f %{roundcubepath}/migration/$PLUGIN.inc.php ] && [ -h %{roundcubepath}/plugins/$PLUGIN/config.inc.php ]; then
|
||||
cp %{roundcubepath}/migration/$PLUGIN.inc.php %{roundcubeconfigpath}/.
|
||||
mv %{roundcubepath}/migration/$PLUGIN.inc.php %{roundcubepath}/migrated/$PLUGIN.inc.php
|
||||
fi
|
||||
done
|
||||
for MIGDIR in migration migrated; do
|
||||
if [ -d %{roundcubepath}/$MIGDIR ]; then
|
||||
find %{roundcubepath}/$MIGDIR -empty -delete
|
||||
fi
|
||||
if [ -d %{roundcubepath}/$MIGDIR ]; then
|
||||
echo "Found %{roundcubepath}/$MIGDIR! Make sure you delete this folder after checking the migration!"
|
||||
fi
|
||||
done
|
||||
|
||||
# update/make new config
|
||||
if [ ! -f %{roundcubeconfigpath}/config.inc.php ]; then
|
||||
if [ -f %{roundcubeconfigpath}/main.inc.php ] && [ -f %{roundcubeconfigpath}/db.inc.php ]; then
|
||||
%{roundcubepath}/bin/update.sh \
|
||||
--version '?' \
|
||||
--accept
|
||||
else
|
||||
cp %{roundcubeconfigpath}/config.inc.php.sample %{roundcubeconfigpath}/config.inc.php
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
%files
|
||||
%defattr(0644, root, root,0755)
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%license LICENSE
|
||||
%else
|
||||
%doc LICENSE
|
||||
%endif
|
||||
%doc %{_defaultdocdir}/%{name}
|
||||
%dir %{roundcubepath}
|
||||
%dir %{roundcubeconfigpath}
|
||||
%dir %{roundcubeconfigpath}/skins
|
||||
%dir %{roundcubeconfigpath}/skins/elastic
|
||||
%dir %{roundcubeconfigpath}/skins/elastic/styles/
|
||||
%ghost %config(noreplace) %{roundcubeconfigpath}/config.inc.php
|
||||
%config(noreplace) %{roundcubeconfigpath}/acl.inc.php
|
||||
%config(noreplace) %{roundcubeconfigpath}/managesieve.inc.php
|
||||
%config(noreplace) %{roundcubeconfigpath}/password.inc.php
|
||||
%config %{roundcubeconfigpath}/config.inc.php.sample
|
||||
%config %{roundcubeconfigpath}/defaults.inc.php
|
||||
%config %{roundcubeconfigpath}/mimetypes.php
|
||||
%config(noreplace) %{apache_sysconfdir}/conf.d/%{name}.conf
|
||||
%config(noreplace) %{apache_sysconfdir}/conf.d/%{name}.inc
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%config(noreplace) %{roundcubeconfigpath}/skins/elastic/styles/styles.less
|
||||
%config(noreplace) %{roundcubeconfigpath}/skins/elastic/styles/variables.less
|
||||
%{roundcubepath}/composer.json-dist
|
||||
%{roundcubepath}/composer.json
|
||||
%{roundcubepath}/composer.lock
|
||||
%{roundcubepath}/config
|
||||
%{roundcubepath}/index.php
|
||||
%{roundcubepath}/robots.txt
|
||||
%dir %{roundcubepath}/bin
|
||||
%attr(0755,root,root) %{roundcubepath}/bin/*.sh
|
||||
%attr(0755,root,root) %{roundcubepath}/plugins/password/helpers/change_ldap_pass.pl
|
||||
%attr(0755,root,root) %{roundcubepath}/vendor/pear/crypt_gpg/scripts/crypt-gpg-pinentry
|
||||
%{roundcubepath}/installer/
|
||||
%{roundcubepath}/logs
|
||||
%ghost %{roundcubepath}/migrated/
|
||||
%ghost %{roundcubepath}/migration/
|
||||
%{roundcubepath}/public_html/
|
||||
%{roundcubepath}/plugins/
|
||||
%{roundcubepath}/program/
|
||||
%{roundcubepath}/skins/
|
||||
%{roundcubepath}/SQL
|
||||
%{roundcubepath}/temp
|
||||
%{roundcubepath}/vendor/
|
||||
%dir %{_datadir}/php
|
||||
%{_datadir}/php/Roundcube
|
||||
%attr(-, wwwrun, root) %{_localstatedir}/log/%{name}
|
||||
%attr(-, wwwrun, root) %{_localstatedir}/lib/%{name}
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user