Python 3.8 fixes.

This commit is contained in:
Antoine Nguyen
2020-09-15 11:14:23 +02:00
parent c3b6ce9b8e
commit 1fa390513d
5 changed files with 31 additions and 12 deletions

View File

@@ -1,7 +1,6 @@
"""Database related tools."""
import os
import platform
import pwd
import stat
@@ -143,7 +142,7 @@ class MySQL(Database):
def install_package(self):
"""Preseed package installation."""
name, version, _id = platform.linux_distribution()
name, version, _id = utils.dist_info()
name = name.lower()
if name == "debian":
mysql_name = "mysql" if version.startswith("8") else "mariadb"

View File

@@ -35,9 +35,9 @@ class Postfix(base.Installer):
def install_packages(self):
"""Preconfigure postfix package installation."""
if "centos" in utils.dist_name():
config = configparser.SafeConfigParser()
config = configparser.ConfigParser()
with open("/etc/yum.repos.d/CentOS-Base.repo") as fp:
config.readfp(fp)
config.read_file(fp)
config.set("centosplus", "enabled", "1")
config.set("centosplus", "includepkgs", "postfix-*")
config.set("base", "exclude", "postfix-*")

View File

@@ -73,17 +73,26 @@ def exec_cmd(cmd, sudo_user=None, pinput=None, login=True, **kwargs):
return process.returncode, output
def dist_name():
"""Try to guess the distribution name."""
def dist_info():
"""Try to return information about the system we're running on."""
try:
# Python 3.8 and up way
import distro
name, version, _id = distro.linux_distribution()
except ImportError as e:
return distro.linux_distribution()
except ImportError:
# Python 3.7 and down way
import platform
name, version, _id = platform.linux_distribution()
return "unknown" if not name else name.lower()
return platform.linux_distribution()
printcolor(
"Failed to retrieve information about your system, aborting.",
RED)
sys.exit(1)
def dist_name():
"""Try to guess the distribution name."""
name, version, _id = dist_info()
return name.lower()
def mkdir(path, mode, uid, gid):