mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
c83849e5af
Summary: No functional changes Reviewed By: simpkins Differential Revision: D7945989 fbshipit-source-id: e267e6134d87570427b3fdf5974006dce5774113
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
#
|
|
# Copyright (c) 2016-present, Facebook, Inc.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the BSD-style license found in the
|
|
# LICENSE file in the root directory of this source tree. An additional grant
|
|
# of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
import subprocess
|
|
from typing import Optional, Tuple
|
|
|
|
from . import config as config_mod
|
|
|
|
|
|
def get_installed_eden_rpm_version() -> str:
|
|
proc = subprocess.run(
|
|
["rpm", "-q", "fb-eden", "--queryformat", "%{version}-%{release}"],
|
|
stdout=subprocess.PIPE,
|
|
encoding="utf-8",
|
|
)
|
|
if proc.returncode != 0:
|
|
return "<Not Installed>"
|
|
return proc.stdout
|
|
|
|
|
|
# returns (runing_version, release) tuple
|
|
def get_running_eden_version_parts(
|
|
config: config_mod.Config
|
|
) -> Tuple[Optional[str], Optional[str]]:
|
|
bi = config.get_server_build_info()
|
|
return (bi.get("build_package_version"), bi.get("build_package_release"))
|
|
|
|
|
|
def format_running_eden_version(parts: Tuple[Optional[str], Optional[str]]) -> str:
|
|
running_version, release = parts
|
|
if running_version is None:
|
|
running_version = ""
|
|
if release is None:
|
|
release = ""
|
|
return f"{running_version}-{release}"
|
|
|
|
|
|
def get_running_eden_version(config: config_mod.Config) -> str:
|
|
return format_running_eden_version(get_running_eden_version_parts(config))
|