mirror of
https://github.com/pi-hole/pi-hole.git
synced 2024-11-15 02:42:58 +00:00
Select proper PHP version on RPM based OS after INSTALLER_DEPS have been installed (#4325)
* Select proper PHP version on RPM based OS after INSTALLER_DEPS have been installed * Remove check for unsupported RPM distros as it is checked in os_check already * Add select_rpm_php function to tox tests Signed-off-by: Christian König <ckoenig@posteo.de>
This commit is contained in:
parent
6d670991c3
commit
1c286c7bc4
6 changed files with 103 additions and 83 deletions
|
@ -379,12 +379,23 @@ elif is_command rpm ; then
|
||||||
LIGHTTPD_USER="lighttpd"
|
LIGHTTPD_USER="lighttpd"
|
||||||
LIGHTTPD_GROUP="lighttpd"
|
LIGHTTPD_GROUP="lighttpd"
|
||||||
LIGHTTPD_CFG="lighttpd.conf.fedora"
|
LIGHTTPD_CFG="lighttpd.conf.fedora"
|
||||||
# If the host OS is Fedora,
|
|
||||||
if grep -qiE 'fedora|fedberry' /etc/redhat-release; then
|
# If neither apt-get or yum/dnf package managers were found
|
||||||
|
else
|
||||||
|
# it's not an OS we can support,
|
||||||
|
printf " %b OS distribution not supported\\n" "${CROSS}"
|
||||||
|
# so exit the installer
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
select_rpm_php(){
|
||||||
|
# If the host OS is Fedora,
|
||||||
|
if grep -qiE 'fedora|fedberry' /etc/redhat-release; then
|
||||||
# all required packages should be available by default with the latest fedora release
|
# all required packages should be available by default with the latest fedora release
|
||||||
: # continue
|
: # continue
|
||||||
# or if host OS is CentOS,
|
# or if host OS is CentOS,
|
||||||
elif grep -qiE 'centos|scientific' /etc/redhat-release; then
|
elif grep -qiE 'centos|scientific' /etc/redhat-release; then
|
||||||
# Pi-Hole currently supports CentOS 7+ with PHP7+
|
# Pi-Hole currently supports CentOS 7+ with PHP7+
|
||||||
SUPPORTED_CENTOS_VERSION=7
|
SUPPORTED_CENTOS_VERSION=7
|
||||||
SUPPORTED_CENTOS_PHP_VERSION=7
|
SUPPORTED_CENTOS_PHP_VERSION=7
|
||||||
|
@ -451,24 +462,14 @@ elif is_command rpm ; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi # Warn user of unsupported version of Fedora or CentOS
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Warn user of unsupported version of Fedora or CentOS
|
|
||||||
if ! whiptail --defaultno --title "Unsupported RPM based distribution" --yesno "Would you like to continue installation on an unsupported RPM based distribution?\\n\\nPlease ensure the following packages have been installed manually:\\n\\n- lighttpd\\n- lighttpd-fastcgi\\n- PHP version 7+" "${r}" "${c}"; then
|
if ! whiptail --defaultno --title "Unsupported RPM based distribution" --yesno "Would you like to continue installation on an unsupported RPM based distribution?\\n\\nPlease ensure the following packages have been installed manually:\\n\\n- lighttpd\\n- lighttpd-fastcgi\\n- PHP version 7+" "${r}" "${c}"; then
|
||||||
printf " %b Aborting installation due to unsupported RPM based distribution\\n" "${CROSS}"
|
printf " %b Aborting installation due to unsupported RPM based distribution\\n" "${CROSS}"
|
||||||
exit
|
exit
|
||||||
else
|
else
|
||||||
printf " %b Continuing installation with unsupported RPM based distribution\\n" "${INFO}"
|
printf " %b Continuing installation with unsupported RPM based distribution\\n" "${INFO}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If neither apt-get or yum/dnf package managers were found
|
|
||||||
else
|
|
||||||
# it's not an OS we can support,
|
|
||||||
printf " %b OS distribution not supported\\n" "${CROSS}"
|
|
||||||
# so exit the installer
|
|
||||||
exit
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2547,6 +2548,11 @@ main() {
|
||||||
printf " %b Checking for / installing Required dependencies for this install script...\\n" "${INFO}"
|
printf " %b Checking for / installing Required dependencies for this install script...\\n" "${INFO}"
|
||||||
install_dependent_packages "${INSTALLER_DEPS[@]}"
|
install_dependent_packages "${INSTALLER_DEPS[@]}"
|
||||||
|
|
||||||
|
#In case of RPM based distro, select the proper PHP version
|
||||||
|
if [[ "$PKG_MANAGER" == "yum" || "$PKG_MANAGER" == "dnf" ]] ; then
|
||||||
|
select_rpm_php
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if SELinux is Enforcing
|
# Check if SELinux is Enforcing
|
||||||
checkSelinux
|
checkSelinux
|
||||||
|
|
||||||
|
|
|
@ -618,6 +618,7 @@ def test_package_manager_has_pihole_deps(Pihole):
|
||||||
output = Pihole.run('''
|
output = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
install_dependent_packages ${PIHOLE_DEPS[@]}
|
install_dependent_packages ${PIHOLE_DEPS[@]}
|
||||||
''')
|
''')
|
||||||
|
|
||||||
|
@ -631,6 +632,7 @@ def test_package_manager_has_web_deps(Pihole):
|
||||||
output = Pihole.run('''
|
output = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
install_dependent_packages ${PIHOLE_WEB_DEPS[@]}
|
install_dependent_packages ${PIHOLE_WEB_DEPS[@]}
|
||||||
''')
|
''')
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ def test_php_upgrade_default_optout_centos_eq_7(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
||||||
'Deprecated PHP may be in use.')
|
'Deprecated PHP may be in use.')
|
||||||
|
@ -30,6 +31,7 @@ def test_php_upgrade_user_optout_centos_eq_7(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
||||||
'Deprecated PHP may be in use.')
|
'Deprecated PHP may be in use.')
|
||||||
|
@ -48,6 +50,7 @@ def test_php_upgrade_user_optin_centos_eq_7(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
assert 'opt-out' not in package_manager_detect.stdout
|
assert 'opt-out' not in package_manager_detect.stdout
|
||||||
expected_stdout = info_box + (' Enabling Remi\'s RPM repository '
|
expected_stdout = info_box + (' Enabling Remi\'s RPM repository '
|
||||||
|
|
|
@ -13,6 +13,7 @@ def test_php_upgrade_default_continue_centos_gte_8(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
unexpected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS.'
|
unexpected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS.'
|
||||||
' Deprecated PHP may be in use.')
|
' Deprecated PHP may be in use.')
|
||||||
|
@ -33,6 +34,7 @@ def test_php_upgrade_user_optout_skipped_centos_gte_8(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
unexpected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS.'
|
unexpected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS.'
|
||||||
' Deprecated PHP may be in use.')
|
' Deprecated PHP may be in use.')
|
||||||
|
@ -53,6 +55,7 @@ def test_php_upgrade_user_optin_skipped_centos_gte_8(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
assert 'opt-out' not in package_manager_detect.stdout
|
assert 'opt-out' not in package_manager_detect.stdout
|
||||||
unexpected_stdout = info_box + (' Enabling Remi\'s RPM repository '
|
unexpected_stdout = info_box + (' Enabling Remi\'s RPM repository '
|
||||||
|
|
|
@ -16,6 +16,7 @@ def test_release_supported_version_check_centos(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
expected_stdout = cross_box + (' CentOS 6 is not supported.')
|
expected_stdout = cross_box + (' CentOS 6 is not supported.')
|
||||||
assert expected_stdout in package_manager_detect.stdout
|
assert expected_stdout in package_manager_detect.stdout
|
||||||
|
@ -30,6 +31,7 @@ def test_enable_epel_repository_centos(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
expected_stdout = info_box + (' Enabling EPEL package repository '
|
expected_stdout = info_box + (' Enabling EPEL package repository '
|
||||||
'(https://fedoraproject.org/wiki/EPEL)')
|
'(https://fedoraproject.org/wiki/EPEL)')
|
||||||
|
@ -54,6 +56,7 @@ def test_php_version_lt_7_detected_upgrade_default_optout_centos(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
||||||
'Deprecated PHP may be in use.')
|
'Deprecated PHP may be in use.')
|
||||||
|
@ -78,6 +81,7 @@ def test_php_version_lt_7_detected_upgrade_user_optout_centos(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
||||||
'Deprecated PHP may be in use.')
|
'Deprecated PHP may be in use.')
|
||||||
|
@ -102,6 +106,7 @@ def test_php_version_lt_7_detected_upgrade_user_optin_centos(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
install_dependent_packages PIHOLE_WEB_DEPS[@]
|
install_dependent_packages PIHOLE_WEB_DEPS[@]
|
||||||
''')
|
''')
|
||||||
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
expected_stdout = info_box + (' User opt-out of PHP 7 upgrade on CentOS. '
|
||||||
|
|
|
@ -6,6 +6,7 @@ def test_epel_and_remi_not_installed_fedora(Pihole):
|
||||||
package_manager_detect = Pihole.run('''
|
package_manager_detect = Pihole.run('''
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
|
select_rpm_php
|
||||||
''')
|
''')
|
||||||
assert package_manager_detect.stdout == ''
|
assert package_manager_detect.stdout == ''
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue