• 
      

    Add utilities for determining system state.

    Review Request #13463 — Created Dec. 26, 2023 and submitted

    Information

    rbinstall
    master

    Reviewers

    This introduces rbinstall.state, which contains functions (primarily
    get_system_info()) for determining state that will be used throughout
    the installer process.

    get_system_info() determines the operating system and architecture of
    the target system. This primarily centers around Linux (though there's
    some WIP for macOS with Homebrew).

    For Linux, information on the current distro is retrieved and parsed,
    and used to determine the default installer method (Yum, Apt, etc.), the
    distro ID and families, version, and other identifying information.
    These will later be used for package selection.

    The beginnings of rbinstall.install_methods was also added, providing
    an enum of install method constants that are needed in
    get_system_info().

    Unit tests are available for state.py methods. We use kgb, pytest,
    and pytest-sugar (an extension that provides better output and
    immediate failure information for pytest runs).

    Unit tests pass.

    Tested this along with the rest of the in-progress changes on a variety
    of Linux distributions.

    Summary ID
    Add utilities for determining system state.
    This introduces `rbinstall.state`, which contains functions (primarily `get_system_info()`) for determining state that will be used throughout the installer process. `get_system_info()` determines the operating system and architecture of the target system. This primarily centers around Linux (though there's some WIP for macOS with Homebrew). For Linux, information on the current distro is retrieved and parsed, and used to determine the default installer method (Yum, Apt, etc.), the distro ID and families, version, and other identifying information. These will later be used for package selection. The beginnings of `rbinstall.install_methods` was also added, providing an enum of install method constants that are needed in `get_system_info()`. Unit tests are available for `state.py` methods. We use `kgb`, `pytest`, and `pytest-sugar` (an extension that provides better output and immediate failure information for pytest runs).
    8d75b3eb949eccafdf8ec609921e460945874e76
    Description From Last Updated

    'rbinstall.process.die' imported but unused Column: 1 Error code: F401

    reviewbotreviewbot
    Checks run (1 failed, 1 succeeded)
    flake8 failed.
    JSHint passed.

    flake8

    chipx86
    chipx86
    david
    1. Ship It!
    2. 
        
    maubin
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (6ec531d)