INSTALL | ●●●●● patch | view | raw | blame | history | |
UPGRADING | ●●●●● patch | view | raw | blame | history | |
bin/installto.sh | ●●●●● patch | view | raw | blame | history | |
bin/update.sh | ●●●●● patch | view | raw | blame | history | |
composer.json-dist | ●●●●● patch | view | raw | blame | history |
INSTALL
@@ -49,7 +49,7 @@ 2. Install dependencies using composer: - get composer from https://getcomposer.org/download/ - rename the composer.json-dist file into composer.json - run `php composer.phar install` - run `php composer.phar install --no-dev` 3. Make sure that the following directories (and the files within) are writable by the webserver - /temp UPGRADING
@@ -40,15 +40,16 @@ directory into the target folder: ./skins/ ./plugins/ 4. Run ./bin/update.sh from the commandline OR 4. Run `./bin/update.sh` from the commandline OR open http://url-to-roundcube/installer/ in a browser and choose "3 Test config". To enable the latter one, you have to temporary set 'enable_installer' to true in your local config/config.inc.php file. WARNING: See SQLite database upgrade below. 5. Let the update script/installer check your configuration and update your config files and database schema as suggested by the updater. 6. Make sure 'enable_installer' is set to false again. 7. See Post-Upgrade Activities section. 5. Update dependencies by running `php composer.phar update --no-dev` 7. Make sure 'enable_installer' is set to false again. 8. See Post-Upgrade Activities section. Post-Upgrade Activities bin/installto.sh
@@ -5,7 +5,7 @@ | bin/installto.sh | | | | This file is part of the Roundcube Webmail client | | Copyright (C) 2012, The Roundcube Dev Team | | Copyright (C) 2014, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | @@ -50,7 +50,7 @@ break; } } foreach (array('index.php','.htaccess','config/defaults.inc.php','CHANGELOG','README.md','UPGRADING','LICENSE') as $file) { foreach (array('index.php','.htaccess','config/defaults.inc.php','composer.json-dist','CHANGELOG','README.md','UPGRADING','LICENSE') as $file) { if (!system("rsync -av " . INSTALL_PATH . "$file $target_dir/$file")) { $err = true; break; bin/update.sh
@@ -5,7 +5,7 @@ | bin/update.sh | | | | This file is part of the Roundcube Webmail client | | Copyright (C) 2010-2013, The Roundcube Dev Team | | Copyright (C) 2010-2014, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | @@ -162,6 +162,60 @@ $success = !$res; } // update composer dependencies if (is_file(INSTALL_PATH . 'composer.json') && is_readable(INSTALL_PATH . 'composer.json-dist')) { $composer_data = json_decode(file_get_contents(INSTALL_PATH . 'composer.json'), true); $composer_template = json_decode(file_get_contents(INSTALL_PATH . 'composer.json-dist'), true); $comsposer_json = null; // update the require section with the new dependencies if (is_array($composer_data['require']) && is_array($composer_template['require'])) { $composer_data['require'] = array_merge($composer_data['require'], $composer_template['require']); /* TO BE ADDED LATER $old_packages = array(); for ($old_packages as $pkg) { if (array_key_exists($composer_data['require'], $pkg)) { unset($composer_data['require'][$pkg]); } } */ } // use the JSON encoder from the Composer package if (is_file('composer.phar')) { include 'phar://composer.phar/src/Composer/Json/JsonFile.php'; $comsposer_json = \Composer\Json\JsonFile::encode($composer_data); } // PHP 5.4's json_encode() does the job, too else if (defined('JSON_PRETTY_PRINT')) { $comsposer_json = json_encode($composer_data, JSON_PRETTY_PRINT & JSON_UNESCAPED_SLASHES); } else { $success = false; $comsposer_json = null; } // write updated composer.json back to disk if (0&&$comsposer_json && is_writeable(INSTALL_PATH . 'composer.json')) { $success &= (bool)file_put_contents(INSTALL_PATH . 'composer.json', $comsposer_json); } else { echo "WARNING: unable to update composer.json!\n"; echo "Please replace the 'require' section in your composer.json with the following:\n"; $require_json = ''; foreach ($composer_data['require'] as $pkg => $ver) { $require_json .= sprintf(' "%s": "%s",'."\n", $pkg, $ver); } echo ' "require": {'."\n"; echo rtrim($require_json, ",\n"); echo "\n }\n\n"; } echo "NOTE: Update dependencies by running `php composer.phar update --no-dev`\n"; } // index contacts for fulltext searching if ($opts['version'] && version_compare(version_parse($opts['version']), '0.6.0', '<')) { system("php " . INSTALL_PATH . 'bin/indexcontacts.sh'); composer.json-dist
@@ -30,7 +30,7 @@ ], "require": { "php": ">=5.3.7", "roundcube/plugin-installer": ">=0.1.3", "roundcube/plugin-installer": ">=0.1.5", "pear/mail_mime": ">=1.8.9", "pear/mail_mime-decode": ">=1.5.5", "pear/net_smtp": "dev-master",