blob: b0400322c273155ec66163a7a10ebf2dc903805d (
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
|
post_install() {
# change mysql.default_socket for mythweb
sed -i 's/^mysql.default_socket.*$/mysql.default_socket = \/var\/run\/mysqld\/mysqld.sock/g' /etc/php/php.ini
if [ -f /etc/systemconfig ]
then
. /etc/systemconfig
if [ -f /etc/php/php.ini ]
then
sed -i 's|^.*date.timezone.*$|date.timezone='${timezone}'|' /etc/php/php.ini
fi
fi
}
pre_upgrade() {
# we moved php.ini from /etc/ to /etc/php
# lets save the old file before pacman deletes it.
# can be removed later
if [ -f /etc/php.ini ] && [ $(vercmp '5.2.4-2' $2) -ge 0 ];then
echo 'Backing up old php.ini...'
mv /etc/php.ini /etc/php.ini.pacsave.tmp
fi
}
post_upgrade() {
post_install
echo '
==> Review your php.ini
Your php installation has been updated. You should review your current
php.ini and check any upstream changes according to the default
configuration which can be found at php.ini.pacnew.
'
# if we upgraded from an installation with old config layout, move the old
# php.ini to the right place and inform the user about the changes.
# can be removed later
if [ -f /etc/php.ini.pacsave.tmp ] && [ $(vercmp '5.2.4-2' $2) -ge 0 ]; then
echo 'Restoring old php.ini...'
mv /etc/php/php.ini /etc/php/php.ini.pacnew
mv /etc/php.ini.pacsave.tmp /etc/php/php.ini
if [ -f /etc/systemconfig ]
then
. /etc/systemconfig
if [ -f /etc/php/php.ini ]
then
sed -i 's|^.*date.timezone.*$|date.timezone='${timezone}'|' /etc/php/php.ini
fi
fi
echo 'Updating extension dir...'
sed -i -e 's/#extension_dir = "/usr/lib/php/20060613/"/#extension_dir = "/usr/lib/php/modules/"#g' /etc/php/php.ini
echo '
==> Location of php.ini has changed
A previous configuration was found at /etc/php.ini. PHP stores its
configuration at /etc/php/ now. Your old php.ini was moved to
/etc/php/php.ini. You should merge your old file with the
default one that can be found at /etc/php/php.ini.pacnew.
Make sure to enable the modules you need. A lot of them are shared
objects now and not statically built into php.
External modules store their configuration in /etc/php/conf.d/. PHP
scans that directory for any ini files.
'
fi
# be nice to [testing] users and update php.ini to fix bug #8141.
# can be removed later
if [ $(vercmp '5.2.4-3' $2) -eq 0 ]; then
echo 'Updating extension dir...'
sed -i -e 's/#extension_dir = "/usr/lib/php/extensions/"/#extension_dir = "/usr/lib/php/20060613/"#g' /etc/php/php.ini
fi
}
op=$1
shift
[ "$(type -t "$op")" = "function" ] && $op "$@"
|