#!/usr/bin/perl # Copyright (c) 2007 Shawn M. Douglas (shawndouglas.com) # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without # restriction, including without limitation the rights to use, # copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following # conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # This script generates a shell script to perform a wiki farm upgrade (to 1.9.3) # It assumes the presence of "upgrade.list" which is a tab-delimited file # containing two tab-delimited fields for each wiki: # 1) directory/database suffix # 2) pretty url (from $wgArticlePath) # Specifically, the script # -loops through list of wikis # -removes old symlinks and creates new ones # -creates a new LocalSettings.php file based on the template found in the "01" wiki directory # -runs the upgrade.php script # -runs the rebuildall.php script $ts = `date "+%y%m%d"`; chomp($ts); print <) { chomp; split "\t"; print < /Library/WebServer/Documents/$_[0]/LocalSettings.php /usr/local/php5/bin/php /Library/WebServer/Documents/mediawiki-1.9.3/maintenance/update.php --conf /Library/WebServer/ Documents/$_[0]/LocalSettings.php /usr/local/php5/bin/php /Library/WebServer/Documents/mediawiki-1.9.3/maintenance/rebuildall.php --conf /Library/WebSer ver/Documents/$_[0]/LocalSettings.php EOF } close(LIST);