Add support for Oracle Linux 7 and later.
Most of the changes revolves around using MySQL rather than MariaDB, plus enabling the addon repos on public-yum.oracle.com. The patch just touch the areas where there is a divergence between the Fedora and Oracle distributions and in all other cases the is_fedora will result in the correct decision to be made and left as is. Collapsed the is_suse and is_oraclelinux into a single check in configure_database_mysql and cleanup_database_mysql Added Oracle Linux to MAINTAINERS.rst Rather than duplicating most of the Redhat version check code, added a check in the block to do the determination if it is Oracle Linux Change-Id: I5f1f15106329eec67aa008b17847fa44863f243f
This commit is contained in:
parent
d9a7ae8056
commit
ec47bc1d72
@ -90,3 +90,7 @@ Zaqar (Marconi)
|
||||
|
||||
* Flavio Percoco <flaper87@gmail.com>
|
||||
* Malini Kamalambal <malini.kamalambal@rackspace.com>
|
||||
|
||||
Oracle Linux
|
||||
~~~~~~~~~~~~
|
||||
* Wiekus Beukes <wiekus.beukes@oracle.com>
|
||||
|
@ -246,6 +246,7 @@ function GetOSVersion {
|
||||
# CentOS Linux release 6.0 (Final)
|
||||
# Fedora release 16 (Verne)
|
||||
# XenServer release 6.2.0-70446c (xenenterprise)
|
||||
# Oracle Linux release 7
|
||||
os_CODENAME=""
|
||||
for r in "Red Hat" CentOS Fedora XenServer; do
|
||||
os_VENDOR=$r
|
||||
@ -259,6 +260,9 @@ function GetOSVersion {
|
||||
fi
|
||||
os_VENDOR=""
|
||||
done
|
||||
if [ "$os_VENDOR" = "Red Hat" ] && [[ -r /etc/oracle-release ]]; then
|
||||
os_VENDOR=OracleLinux
|
||||
fi
|
||||
os_PACKAGE="rpm"
|
||||
elif [[ -r /etc/SuSE-release ]]; then
|
||||
for r in openSUSE "SUSE Linux"; do
|
||||
@ -310,7 +314,7 @@ function GetDistro {
|
||||
fi
|
||||
elif [[ "$os_VENDOR" =~ (Red Hat) || \
|
||||
"$os_VENDOR" =~ (CentOS) || \
|
||||
"$os_VENDOR" =~ (OracleServer) ]]; then
|
||||
"$os_VENDOR" =~ (OracleLinux) ]]; then
|
||||
# Drop the . release as we assume it's compatible
|
||||
DISTRO="rhel${os_RELEASE::1}"
|
||||
elif [[ "$os_VENDOR" =~ (XenServer) ]]; then
|
||||
@ -328,6 +332,17 @@ function is_arch {
|
||||
[[ "$(uname -m)" == "$1" ]]
|
||||
}
|
||||
|
||||
# Determine if current distribution is an Oracle distribution
|
||||
# is_oraclelinux
|
||||
function is_oraclelinux {
|
||||
if [[ -z "$os_VENDOR" ]]; then
|
||||
GetOSVersion
|
||||
fi
|
||||
|
||||
[ "$os_VENDOR" = "OracleLinux" ]
|
||||
}
|
||||
|
||||
|
||||
# Determine if current distribution is a Fedora-based distribution
|
||||
# (Fedora, RHEL, CentOS, etc).
|
||||
# is_fedora
|
||||
@ -337,7 +352,7 @@ function is_fedora {
|
||||
fi
|
||||
|
||||
[ "$os_VENDOR" = "Fedora" ] || [ "$os_VENDOR" = "Red Hat" ] || \
|
||||
[ "$os_VENDOR" = "CentOS" ] || [ "$os_VENDOR" = "OracleServer" ]
|
||||
[ "$os_VENDOR" = "CentOS" ] || [ "$os_VENDOR" = "OracleLinux" ]
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@ register_database mysql
|
||||
|
||||
# Linux distros, thank you for being incredibly consistent
|
||||
MYSQL=mysql
|
||||
if is_fedora; then
|
||||
if is_fedora && ! is_oraclelinux; then
|
||||
MYSQL=mariadb
|
||||
fi
|
||||
|
||||
@ -32,12 +32,12 @@ function cleanup_database_mysql {
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
return
|
||||
elif is_suse || is_oraclelinux; then
|
||||
uninstall_package mysql-community-server
|
||||
sudo rm -rf /var/lib/mysql
|
||||
elif is_fedora; then
|
||||
uninstall_package mariadb-server
|
||||
sudo rm -rf /var/lib/mysql
|
||||
elif is_suse; then
|
||||
uninstall_package mysql-community-server
|
||||
sudo rm -rf /var/lib/mysql
|
||||
else
|
||||
return
|
||||
fi
|
||||
@ -56,12 +56,12 @@ function configure_database_mysql {
|
||||
if is_ubuntu; then
|
||||
my_conf=/etc/mysql/my.cnf
|
||||
mysql=mysql
|
||||
elif is_suse || is_oraclelinux; then
|
||||
my_conf=/etc/my.cnf
|
||||
mysql=mysql
|
||||
elif is_fedora; then
|
||||
mysql=mariadb
|
||||
my_conf=/etc/my.cnf
|
||||
elif is_suse; then
|
||||
my_conf=/etc/my.cnf
|
||||
mysql=mysql
|
||||
else
|
||||
exit_distro_not_supported "mysql configuration"
|
||||
fi
|
||||
@ -140,14 +140,14 @@ EOF
|
||||
chmod 0600 $HOME/.my.cnf
|
||||
fi
|
||||
# Install mysql-server
|
||||
if is_fedora; then
|
||||
install_package mariadb-server
|
||||
elif is_ubuntu; then
|
||||
install_package mysql-server
|
||||
elif is_suse; then
|
||||
if is_suse || is_oraclelinux; then
|
||||
if ! is_package_installed mariadb; then
|
||||
install_package mysql-community-server
|
||||
fi
|
||||
elif is_fedora; then
|
||||
install_package mariadb-server
|
||||
elif is_ubuntu; then
|
||||
install_package mysql-server
|
||||
else
|
||||
exit_distro_not_supported "mysql installation"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user