utilities for working with composes
  • Python 99.5%
  • Shell 0.5%
Find a file
Lubomír Sedlář f18c2fdd22
All checks were successful
Tests / test (pull_request) Successful in 3m21s
Drop compatibility with ancient productmd
Productmd 1.1 is not going to be seen in the tests on any recent system.
No need keep the compatibility anymore.
2026-07-02 16:03:03 +02:00
.forgejo/workflows Add basic CI action 2026-07-02 15:40:02 +02:00
bin Fix Python 2 compatibility 2023-05-18 11:07:53 +02:00
compose_utils write-repo-file: add --gpgkey argument 2023-07-06 23:25:49 -04:00
doc Update upstream links 2026-05-28 15:38:41 +02:00
tests Drop compatibility with ancient productmd 2026-07-02 16:03:03 +02:00
.bumpversion.cfg New release 0.1.51 2026-02-12 08:46:43 +01:00
.gitignore Update for newer RPM 2019-06-07 10:48:20 +02:00
AUTHORS Add bin/compose-package-moves 2016-06-02 15:25:07 +02:00
COPYING Fix FSF address 2016-02-25 20:02:00 +01:00
GPL Initial commit 2015-12-16 14:40:18 +01:00
MANIFEST.in Include .repo file fixtures in tarball 2019-07-18 13:08:38 +02:00
README.md Convert README to markdown 2026-05-28 15:40:54 +02:00
setup.cfg Simplify setup.py 2016-05-30 09:21:11 +02:00
setup.py Update upstream links 2026-05-28 15:38:41 +02:00
tox.ini Add basic CI action 2026-07-02 15:40:02 +02:00

Compose Utils

A set of utilities for working with Pungi composes. Composes are release snapshots that contain a set of builds.

Install it in Fedora or EPEL:

yum -y install compose-utils

Or run directly from Git in a virtualenv:

git clone https://forge.fedoraproject.org/pungi/compose-utils.git
cd compose-utils
python3 -m venv venv
. venv/bin/activate
python setup.py develop

# The commands will be in your $PATH, for example:
compose-diff-rpms ...

Contents

compose-changelog displays changes between two composes

compose-create-legacy-composeinfo create .composeinfo file in legacy INI-style format

compose-diff-rpms generate a difference in packages between two composes. This is a bit more low-level than compose-changelog.

compose-dump-listings write listing of packages in a compose useful for tracking disappearing packages in another compose

compose-has-build check if a build with a given NVR is present in the compose

compose-list lists composes in a directory and computes next/previous compose ID

compose-partial-copy copy parts of compose (filtering by variant or architecture) to another location via rsync.

compose-print-essentials print basic information about a compose

compose-report-package-moves identify rpm packages that moved between related variants between two composes. Useful for identification of packages which were moved from optional to main variant.

compose-create-next-dir create compose dir for next compose

compose-latest-symlink create a symbolic link with a well-known name to the given compose

compose-write-repo-file create a .repo file pointing to repositories in a compose

compose-update-latest-symlinks create symbolic links of minor and major version to the given latest compose

  • Pungi - a tool for generating composes

Contributing

Feel free to open pull requests on Fedora Forge.

Tests can be run by tox. That should take care of all dependencies, run tests on multiple versions of Python and also compute coverage report.