#linux-distro #build-system #build-environment #distribution #detect #version #stor-pool

bin+lib sp-variant

Detect the Linux distribution for the StorPool build system

22 stable releases

3.5.2 Jun 3, 2024
3.5.0 Apr 7, 2024
3.4.2 Dec 19, 2023
3.4.1 Oct 18, 2023
1.3.0 Sep 15, 2021

#83 in Configuration

Download history 5/week @ 2024-07-28 121/week @ 2024-09-29

1,316 downloads per month

BSD-2-Clause

495KB
11K SLoC

Rust 4K SLoC // 0.0% comments Shell 3.5K SLoC // 0.1% comments Python 3K SLoC // 0.1% comments Jinja2 549 SLoC INI 109 SLoC // 0.0% comments

sp-variant - detect the Linux distribution for the StorPool build system

The sp-variant library is mainly useful within the StorPool internal build and QA environment, as well as the first step of installations on end-user systems. It examines several files and tries to determine what distribution and what version it is running on.

Basic command-line usage

  • sp_variant detect - identify the current Linux distribution
  • sp_variant show current - show JSON data about the current distribution
  • sp_variant show all - show JSON data about all supported distributions
  • sp_variant show NAME - show JSON data about a specific distribution
  • sp_variant command list - show a list of distribution-specific commands
  • sp_variant command run category.item [arg...] - run a distribution-specific command
  • sp_variant repo add - add the Apt or Yum repository definitions for the StorPool package repository

Basic Python API

The sp_variant.variant module exports several constants and functions, among them:

  • detect_variant() - return an object describing the detected distribution
  • get_variant() - get an object describing the specified distribution
  • get_by_alias() - same, but specify the StorPool builder alias for the distribution
  • get_all_variants() - get objects describing all supported distributions
  • command_run() - run a distribution-specific command

Basic Rust API

The sp-variant crate exports several constants and functions, among them:

  • build_variants() - return information about all supported variants
  • detect() - get an object describing the detected distribution
  • get_from() - get an object describing the specified distribution
  • get_by_alias_from() - same, but specify the StorPool builder alias for the distribution

For more information, as well as for suggestions and problem reports, please contact the StorPool support team.

Dependencies

~7–17MB
~256K SLoC