blob: a20d4e9dd20b991c1494e5f45716c5f8a646f7d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
#!/bin/bash
#
# Mediawiki upgrader.
#
# Config parameters
BASENAME="`basename $0`"
RELEASES="http://releases.wikimedia.org/mediawiki/"
# Sudo config
if [ "`whoami`" != 'root' ]; then
sudo="sudo"
fi
# Deploy
function mediawiki_deploy {
VERSION="$1"
MAJOR_VERSION="`echo $VERSION | cut -d . --fields=1,2`"
TARBALL="mediawiki-$VERSION.tar.gz"
if [ -z "$VERSION" ]; then
echo "usage: $BASENAME deploy <version>"
exit 1
fi
wget $RELEASES/$MAJOR_VERSION/$TARBALL
wget $RELEASES/$MEJOR_VERSION/$TARBALL.sig
gpg --verify $TARBALL.sig $TARBALL
tar xvf $TARBALL
$sudo chown -R root. mediawiki-$VERSION
rm $TARBALL*
ln -sf mediawiki-$VERSION mediawiki
}
# Upgrade
function mediawiki_upgrade {
OLD_VERSION="$1"
VERSION="$2"
if [ -z "$VERSION" ]; then
echo "usage: $BASENAME upgrade <old-version> <new-version>"
exit 1
fi
# Deploy
mediawiki_deploy $VERSION
# Copy configuration
$sudo cp -a mediawiki-$OLD_VERSION/LocalSettings.php mediawiki-$VERSION/
# Symlink extensions
if [ -d "mediawiki-$OLD_VERSION/contrib" ]; then
$sudo cp -a mediawiki-$OLD_VERSION/contrib mediawiki-$VERSION/
for extension in mediawiki-$VERSION/contrib/*; do
if [ -d "mediawiki-$VERSION/contrib/$extension" ]; then
(
cd mediawiki-$VERSION/extensions
$sudo ln -s ../contrib/$extension
)
fi
done
fi
# Audit
echo "Audit:"
du -hs mediawiki-$OLD_VERSION
du -hs mediawiki-$VERSION
}
# Main
if [ -z "$1" ]; then
echo "Usage: $BASENAME <deploy|upgrade> [arguments]"
exit 1
elif [ "$1" == "deploy" ]; then
shift
mediawiki_deploy $*
elif [ "$1" == "upgrade" ]; then
shift
mediawiki_upgrade $*
else
echo "No action $1"
exit 1
fi
|