Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot
diff options
context:
space:
mode:
Diffstat (limited to 'devbot')
-rw-r--r--devbot/distro.py17
-rw-r--r--devbot/system.py7
2 files changed, 14 insertions, 10 deletions
diff --git a/devbot/distro.py b/devbot/distro.py
index 1a37bd5..1645b29 100644
--- a/devbot/distro.py
+++ b/devbot/distro.py
@@ -4,13 +4,14 @@ import subprocess
from devbot import command
class FedoraPackageManager:
- def __init__(self, test=False):
+ def __init__(self, test=False, interactive=True):
self._test = test
+ self._interactive = interactive
def install_packages(self, packages):
args = ["yum"]
- if "SUGAR_BUILDBOT" in os.environ:
+ if not self._interactive:
args.append("-y")
args.append("install")
@@ -27,7 +28,7 @@ class FedoraPackageManager:
def update(self):
args = ["yum"]
- if "SUGAR_BUILDBOT" in os.environ:
+ if self._interactive:
args.append("-y")
args.append("update")
@@ -77,10 +78,12 @@ class FedoraPackageManager:
self._find_deps(dep_package, result)
class UbuntuPackageManager:
- def __init__(self, test=False):
+ def __init__(self, test=False, interactive=True):
import apt
self._test = test
+ self._interactive = interactive
+
self._cache = apt.cache.Cache()
def install_packages(self, packages):
@@ -136,13 +139,13 @@ class UbuntuPackageManager:
return result
-def get_package_manager(test=False):
+def get_package_manager(test=False, interactive=True):
name, version = _get_distro_info()
if name == "fedora":
- return FedoraPackageManager(test=test)
+ return FedoraPackageManager(test=test, interactive=True)
elif name == "ubuntu":
- return UbuntuPackageManager(test=test)
+ return UbuntuPackageManager(test=test, interactive=True)
def get_system_version():
name, version = _get_distro_info()
diff --git a/devbot/system.py b/devbot/system.py
index cff7432..f783bd8 100644
--- a/devbot/system.py
+++ b/devbot/system.py
@@ -159,10 +159,11 @@ def remove_packages(package_manager, packages):
if to_remove:
package_manager.remove_packages(to_remove)
-def check(remove=False, update=False, test=False):
- distro_name = distro.get_distro_name()
- package_manager = distro.get_package_manager(test=test)
+def check(remove=False, update=False, test=False, interactive=True):
+ package_manager =
+ distro.get_package_manager(test=test, interactive=interactive)
+ distro_name = distro.get_distro_name()
packages = config.load_packages()
checks = config.load_prerequisites()