# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.
from mozboot.base import MERCURIAL_INSTALL_PROMPT, BaseBootstrapper from mozboot.linux_common import LinuxBootstrapper
class OpenSUSEBootstrapper(LinuxBootstrapper, BaseBootstrapper): """openSUSE experimental bootstrapper."""
def __init__(self, version, dist_id, **kwargs):
print("Using an experimental bootstrapper for openSUSE.")
BaseBootstrapper.__init__(self, **kwargs)
def install_packages(self, packages):
ALTERNATIVE_NAMES = { "libxml2": "libxml2-2",
} # watchman is not available
packages = [ALTERNATIVE_NAMES.get(p, p) for p in packages if p != "watchman"] # awk might be missing
packages += ["awk"]
self.zypper_install(*packages)
def upgrade_mercurial(self, current): """Install Mercurial from pip because system packages could lag.""" if self.no_interactive: # Install via zypper in non-interactive mode because it is the more # conservative option and less likely to make people upset.
self.zypper_install("mercurial") return
res = self.prompt_int(MERCURIAL_INSTALL_PROMPT, 1, 3)
# zypper. if res == 2:
self.zypper_install("mercurial") returnFalse
# No Mercurial. if res == 3:
print("Not installing Mercurial.") returnFalse
# pip. assert res == 1
self.run_as_root(["pip3", "install", "--upgrade", "Mercurial"])
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.