feat(roundcube): update to 1.7.5

1.7 serves only public_html, so the vhost points there and passes
static.php/<path> as PATH_INFO. index.php no longer carries the version,
iniset.php does. The complete tarball ships vendor/, so composer is gone;
updatedb.sh now runs after each extract.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RywMtsL8qXG7GDY3MHq9Uh
This commit is contained in:
CroneKorkN 2026-10-23 15:29:22 +02:00
parent 4cfc751902
commit 4f4da1c7a1
No known key found for this signature in database
4 changed files with 20 additions and 32 deletions

View file

@ -34,7 +34,7 @@ actions['delete_roundcube'] = {
} }
actions['extract_roundcube'] = { actions['extract_roundcube'] = {
'command': f'tar xfvz /tmp/roundcube-{roundcube_version}.tar.gz --strip 1 -C /opt/roundcube', 'command': f'tar xfvz /tmp/roundcube-{roundcube_version}.tar.gz --strip 1 -C /opt/roundcube',
'unless': f'grep -q "Version {roundcube_version}" /opt/roundcube/index.php', 'unless': f'grep -q "\'RCMAIL_VERSION\', \'{roundcube_version}\'" /opt/roundcube/program/include/iniset.php',
'preceded_by': [ 'preceded_by': [
'action:delete_roundcube', 'action:delete_roundcube',
f'file:/tmp/roundcube-{roundcube_version}.tar.gz', f'file:/tmp/roundcube-{roundcube_version}.tar.gz',
@ -44,12 +44,21 @@ actions['extract_roundcube'] = {
], ],
'triggers': [ 'triggers': [
'action:chown_roundcube', 'action:chown_roundcube',
'action:composer_lock_reset',
], ],
} }
actions['chown_roundcube'] = { actions['chown_roundcube'] = {
'command': 'chown -R www-data /opt/roundcube', 'command': 'chown -R www-data /opt/roundcube',
'triggered': True, 'triggered': True,
'triggers': [
'action:update_roundcube_database',
],
}
actions['update_roundcube_database'] = {
'command': "su www-data -s /bin/sh -c '/opt/roundcube/bin/updatedb.sh --package=roundcube --dir=/opt/roundcube/SQL'",
'triggered': True,
'needs': [
'file:/opt/roundcube/config/config.inc.php',
],
} }
@ -80,20 +89,3 @@ files['/opt/roundcube/plugins/password/config.inc.php'] = {
'action:chown_roundcube', 'action:chown_roundcube',
], ],
} }
actions['composer_lock_reset'] = {
'command': 'rm /opt/roundcube/composer.lock',
'triggered': True,
'needs': [
'action:chown_roundcube',
],
'triggers': [
'action:composer_install',
],
}
actions['composer_install'] = {
'command': "cp /opt/roundcube/composer.json-dist /opt/roundcube/composer.json && su www-data -s /bin/bash -c '/usr/bin/composer -d /opt/roundcube install'",
'triggered': True,
'needs': [
'action:chown_roundcube',
],
}

View file

@ -21,7 +21,6 @@ defaults = {
'php-zip': {}, 'php-zip': {},
'php-curl': {}, 'php-curl': {},
'php-gd': {}, 'php-gd': {},
'composer': {},
'php-ldap': {}, 'php-ldap': {},
}, },
}, },
@ -66,7 +65,7 @@ def vhost(metadata):
metadata.get('mailserver/hostname'): { metadata.get('mailserver/hostname'): {
'content': 'roundcube/vhost.conf', 'content': 'roundcube/vhost.conf',
'context': { 'context': {
'root': '/opt/roundcube', 'root': '/opt/roundcube/public_html',
}, },
}, },
}, },

View file

@ -13,19 +13,16 @@ server {
try_files $uri $uri/ /index.php; try_files $uri $uri/ /index.php;
} }
location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ { # assets are served through static.php/<path>
deny all; location ~ \.php(?:$|/) {
} fastcgi_split_path_info ^(.+?\.php)(/.*)$;
location ~ ^/(bin|SQL)/ { set $path_info $fastcgi_path_info;
deny all; try_files $fastcgi_script_name =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass php-handler; fastcgi_pass php-handler;
fastcgi_index index.php; fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include params/fastcgi; include params/fastcgi;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
} }
location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {

View file

@ -174,7 +174,7 @@
}, },
'roundcube': { 'roundcube': {
'product_name': 'Sublimity Mail', 'product_name': 'Sublimity Mail',
'version': '1.6.11', 'version': '1.7.5',
'installer': False, 'installer': False,
}, },
'sysctl': { 'sysctl': {