Skip to content

Commit fb71ade

Browse files
committed
Check phpmyadmin version before installing
1 parent fb446c7 commit fb71ade

File tree

2 files changed

+35
-21
lines changed

2 files changed

+35
-21
lines changed

install/upgrade/0.9.8-28.sh

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ HESTIA="/usr/local/hestia"
33
HESTIA_BACKUP="/root/hst_upgrade/$(date +%d%m%Y%H%M)"
44
spinner="/-\|"
55

6+
function version_ge(){ test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" -o ! -z "$1" -a "$1" = "$2"; }
7+
68
# Set version(s)
79
pma_v='4.8.5'
810

@@ -11,31 +13,38 @@ if [ "$DB_SYSTEM" = 'mysql' ]; then
1113
# Display upgrade information
1214
echo "(*) Upgrading phpMyAdmin to v$pma_v..."
1315

14-
# Download latest phpMyAdmin release
15-
wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz
16+
pma_release_file=$(ls /usr/share/phpmyadmin/RELEASE-DATE-* 2>/dev/null |tail -n 1)
17+
if version_ge "${pma_release_file##*-}" "$pma_v"; then
18+
echo "(*) phpMyAdmin $pma_v or newer is already installed: ${pma_release_file##*-}, skipping update..."
19+
else
20+
[ -d /usr/share/phpmyadmin ] || mkdir -p /usr/share/phpmyadmin
1621

17-
# Unpack files
18-
tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
22+
# Download latest phpMyAdmin release
23+
wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz
1924

20-
# Delete file to prevent error
21-
rm -fr /usr/share/phpmyadmin/doc/html
25+
# Unpack files
26+
tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
2227

23-
# Overwrite old files
24-
cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
28+
# Delete file to prevent error
29+
rm -fr /usr/share/phpmyadmin/doc/html
2530

26-
# Set config and log directory
27-
sed -i "s|define('CONFIG_DIR', '');|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
28-
sed -i "s|define('TEMP_DIR', './tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
31+
# Overwrite old files
32+
cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
2933

30-
# Create temporary folder and change permissions
31-
if [ ! -d /usr/share/phpmyadmin/tmp ]; then
32-
mkdir /usr/share/phpmyadmin/tmp
33-
chmod 777 /usr/share/phpmyadmin/tmp
34-
fi
34+
# Set config and log directory
35+
sed -i "s|define('CONFIG_DIR', '');|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
36+
sed -i "s|define('TEMP_DIR', './tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
3537

36-
# Clean up
37-
rm -fr phpMyAdmin-$pma_v-all-languages
38-
rm -f phpMyAdmin-$pma_v-all-languages.tar.gz
38+
# Create temporary folder and change permissions
39+
if [ ! -d /usr/share/phpmyadmin/tmp ]; then
40+
mkdir /usr/share/phpmyadmin/tmp
41+
chmod 777 /usr/share/phpmyadmin/tmp
42+
fi
43+
44+
# Clean up
45+
rm -fr phpMyAdmin-$pma_v-all-languages
46+
rm -f phpMyAdmin-$pma_v-all-languages.tar.gz
47+
fi
3948
fi
4049

4150
# Add amd64 to repositories to prevent notifications - https://goo.gl/hmsSV7

install/upgrade/1.00.0-190618.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,14 @@ source /usr/local/hestia/conf/hestia.conf
1818
# Get hestia version
1919
version=$(dpkg -l | awk '$2=="hestia" { print $3 }')
2020

21+
function version_ge(){ test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" -o ! -z "$1" -a "$1" = "$2"; }
22+
2123
# Compare version for upgrade routine
2224
if [ "$version" != "0.9.8-28" ]; then
2325
source $HESTIA/install/upgrade/0.9.8-28.sh
2426
fi
2527

28+
2629
# Set phpMyAdmin version for upgrade
2730
pma_v='4.9.0.1'
2831

@@ -403,11 +406,13 @@ done
403406

404407
# Upgrade phpMyAdmin if applicable
405408
if [ "$DB_SYSTEM" = 'mysql' ]; then
406-
if [ -e "/usr/share/phpmyadmin/RELEASE-DATE-$pma_v" ]; then
407-
echo "(*) phpMyAdmin $pma_v is already installed, skipping update..."
409+
pma_release_file=$(ls /usr/share/phpmyadmin/RELEASE-DATE-* 2>/dev/null |tail -n 1)
410+
if version_ge "${pma_release_file##*-}" "$pma_v"; then
411+
echo "(*) phpMyAdmin $pma_v or newer is already installed: ${pma_release_file##*-}, skipping update..."
408412
else
409413
# Display upgrade information
410414
echo "(*) Upgrade phpMyAdmin to v$pma_v..."
415+
[ -d /usr/share/phpmyadmin ] || mkdir -p /usr/share/phpmyadmin
411416

412417
# Download latest phpMyAdmin release
413418
wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz

0 commit comments

Comments
 (0)