Skip to main content

Produces RPMs for FLP packages out of aliBuild ouput

Project description

f2r

Command line tool to create RPMs out of aliBuild output.

Prerequisites

Installation

To just install the tool: python3 -m pip install f2r

OR

Use flp-release-server role from system-configuration to fully provision a build server.

Quickstart

Build packages using aliBuild, eg:

aliBuild build O2Suite --defaults o2-dataflow --always-prefer-system

Then, run alienv as indicated by aliBuild in order to create modulefiles:

alienv enter O2Suite/latest-o2-dataflow
exit # do not forget to exit

And create RPMs providing same package and version as to alienv:

f2r generate --package O2Suite --version latest-o2-dataflow

Validate created RPMs (this requires sudo):

f2r validate

Create YUM repo:

f2r repo

and sync it to S3:

f2r sync

CLI options

Simple run f2r -h to see all available options

Developers documentation

Software lifecycle

  • Make changes and merge MR when all tests pass
  • Bump version in setup.py
  • Publish to PyPI
    • python3 setup.py sdist bdist_wheel
    • TWINE_USERNAME=$TWINE_USERNAME TWINE_PASSWORD=$TWINE_PASSWORD python3 -m twine upload --repository pypi dist/*
  • Update build server using pip

Simple description of the logic

Creates tree of dependencies by recursively iterating over "alidist" recipes. It disables certain packages based on selected "defaults". It retrieves versioning information from "modulefiles" (as "alidist" recipes do not provide that).

It is capable of generating "devel" RPMs. In such case, in addition to runtime dependencies, it also packs build dependencies. (NOTE: There is no source of truth for build dependencies versioning, therefore the latest available version is used.)

It picks up system dependencies when aliBuild package is not available. For this reason it uses definitions in (devel|runtime).slc*.yaml file translate system dependencies into list of RPM packages.

Then, it uses fpm tool to generate RPMs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

f2r-2.9.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

f2r-2.9.0-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file f2r-2.9.0.tar.gz.

File metadata

  • Download URL: f2r-2.9.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for f2r-2.9.0.tar.gz
Algorithm Hash digest
SHA256 eaa24bf36fcba6330ba75a9dacaf739ccf5e8e3d54c2c8f3749689e148492575
MD5 1e5c32f4fc7a214c37d2b7ab69bb8abe
BLAKE2b-256 b7325edd46b42f9c8921c61468fcc055fdbe456d6225b6c3348ef7f59c08de62

See more details on using hashes here.

File details

Details for the file f2r-2.9.0-py3-none-any.whl.

File metadata

  • Download URL: f2r-2.9.0-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for f2r-2.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d0d9aa0ecc62a92978426267fbb0ffaed5e2755fa87c3be6dec49fd912e30d9
MD5 d05024610c147d4fe5d61e5a03d40723
BLAKE2b-256 b1aed4599705dd66cb3431c637fabddd2745b0193b57ccc3a36038aa75ea45ce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page