Fixed pep8 whining in module packages

main
Alf Gaida 8 years ago
parent 65b5d67a08
commit 122667f9a7

@ -6,6 +6,7 @@
# Copyright 2014, Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
# Copyright 2015-2017, Teo Mrnjavac <teo@kde.org>
# Copyright 2016-2017, Kyle Robbertze <kyle@aims.ac.za>
# Copyright 2017, Alf Gaida <agaida@siduction.org>
#
# Calamares is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -25,8 +26,10 @@ import libcalamares
from libcalamares.utils import check_target_env_call, target_env_call
from string import Template
class PackageManager:
""" Package manager class.
"""
Package manager class.
:param backend:
"""
@ -43,15 +46,19 @@ class PackageManager:
for pkg in pkgs:
check_target_env_call(["pkcon", "-py", "install", pkg])
elif self.backend == "zypp":
check_target_env_call(["zypper", "--non-interactive", "--quiet-install", "install",
"--auto-agree-with-licenses", "install"] + pkgs)
check_target_env_call(["zypper", "--non-interactive",
"--quiet-install", "install",
"--auto-agree-with-licenses",
"install"] + pkgs)
elif self.backend == "yum":
check_target_env_call(["yum", "install", "-y"] + pkgs)
elif self.backend == "dnf":
check_target_env_call(["dnf", "install", "-y"] + pkgs)
elif self.backend == "urpmi":
check_target_env_call(["urpmi", "--download-all", "--no-suggests", "--no-verify-rpm",
"--fastunsafe", "--ignoresize", "--nolock", "--auto"] + pkgs)
check_target_env_call(["urpmi", "--download-all", "--no-suggests",
"--no-verify-rpm", "--fastunsafe",
"--ignoresize", "--nolock",
"--auto"] + pkgs)
elif self.backend == "apt":
check_target_env_call(["apt-get", "-q", "-y", "install"] + pkgs)
elif self.backend == "pacman":
@ -60,7 +67,8 @@ class PackageManager:
else:
pacman_flags = "-Sy"
check_target_env_call(["pacman", pacman_flags, "--noconfirm"] + pkgs)
check_target_env_call(["pacman", pacman_flags,
"--noconfirm"] + pkgs)
elif self.backend == "portage":
check_target_env_call(["emerge", "-v"] + pkgs)
elif self.backend == "entropy":
@ -75,17 +83,23 @@ class PackageManager:
for pkg in pkgs:
check_target_env_call(["pkcon", "-py", "remove", pkg])
elif self.backend == "zypp":
check_target_env_call(["zypper", "--non-interactive", "remove"] + pkgs)
check_target_env_call(["zypper", "--non-interactive",
"remove"] + pkgs)
elif self.backend == "yum":
check_target_env_call(["yum", "--disablerepo=*", "-C", "-y", "remove"] + pkgs)
check_target_env_call(["yum", "--disablerepo=*", "-C", "-y",
"remove"] + pkgs)
elif self.backend == "dnf":
# ignore the error code for now because dnf thinks removing a nonexistent package is an error
target_env_call(["dnf", "--disablerepo=*", "-C", "-y", "remove"] + pkgs)
# ignore the error code for now because dnf thinks removing a
# nonexistent package is an error
target_env_call(["dnf", "--disablerepo=*", "-C", "-y",
"remove"] + pkgs)
elif self.backend == "urpmi":
check_target_env_call(["urpme", "--auto"] + pkgs)
elif self.backend == "apt":
check_target_env_call(["apt-get", "--purge", "-q", "-y", "remove"] + pkgs)
check_target_env_call(["apt-get", "--purge", "-q", "-y", "autoremove"])
check_target_env_call(["apt-get", "--purge", "-q", "-y",
"remove"] + pkgs)
check_target_env_call(["apt-get", "--purge", "-q", "-y",
"autoremove"])
elif self.backend == "pacman":
check_target_env_call(["pacman", "-Rs", "--noconfirm"] + pkgs)
elif self.backend == "portage":
@ -120,7 +134,7 @@ def subst_locale(list):
locale = libcalamares.globalstorage.value("locale")
if locale:
for e in list:
if locale != "en":
if locale != "en":
entry = Template(e)
ret.append(entry.safe_substitute(LOCALE=locale))
elif 'LOCALE' not in e:
@ -129,8 +143,10 @@ def subst_locale(list):
ret = list
return ret
def run_operations(pkgman, entry):
""" Call package manager with given parameters.
"""
Call package manager with given parameters.
:param pkgman:
:param entry:
@ -146,21 +162,24 @@ def run_operations(pkgman, entry):
else:
pkgman.install(entry[key])
elif key == "try_install":
# we make a separate package manager call for each package so a single
# failing package won't stop all of them
# we make a separate package manager call for each package so a
# single failing package won't stop all of them
for package in entry[key]:
if isinstance(package, str):
try:
pkgman.install([package])
except subprocess.CalledProcessError:
libcalamares.utils.debug("WARNING: could not install package {}".format(package))
warn_text = "WARNING: could not install package "
libcalamares.utils.debug(warn_text + package)
else:
try:
pkgman.run(package["pre-script"])
pkgman.install([package["package"]])
pkgman.run(package["post-script"])
except subprocess.CalledProcessError:
libcalamares.utils.debug("WARNING: could not install packages {}".format(package["package"]))
warn_text = "WARNING: could not install packages "
libcalamares.utils.debug(warn_text
+ package["package"])
elif key == "remove":
pkgman.remove(entry[key])
elif key == "try_remove":
@ -168,20 +187,23 @@ def run_operations(pkgman, entry):
try:
pkgman.remove([package])
except subprocess.CalledProcessError:
libcalamares.utils.debug("WARNING: could not remove package {}".format(package))
warn_text = "WARNING: could not remove package "
libcalamares.utils.debug( warn_text + package)
elif key == "localInstall":
pkgman.install(entry[key], from_local=True)
def run():
""" Calls routine with detected package manager to install locale packages
"""
Calls routine with detected package manager to install locale packages
or remove drivers not needed on the installed system.
:return:
"""
backend = libcalamares.job.configuration.get("backend")
if backend not in ("packagekit", "zypp", "yum", "dnf", "urpmi", "apt", "pacman", "portage", "entropy"):
if backend not in ("packagekit", "zypp", "yum", "dnf", "urpmi", "apt",
"pacman", "portage", "entropy"):
return "Bad backend", "backend=\"{}\"".format(backend)
pkgman = PackageManager(backend)
@ -195,6 +217,7 @@ def run():
run_operations(pkgman, entry)
if libcalamares.globalstorage.contains("packageOperations"):
run_operations(pkgman, libcalamares.globalstorage.value("packageOperations"))
run_operations(pkgman,
libcalamares.globalstorage.value("packageOperations"))
return None

Loading…
Cancel
Save