Skip to content

[RFE] Rewrite rpmautospec in a compiled language #217

@sgallagher

Description

@sgallagher

rpmautospec was rewritten to run inside the mock environment for several good reasons, not least of which being that it's the only realistic way to ensure that the version of rpm that it's using for parsing matches the version on the target OS. However, as things have progressed, we've discovered several problems.

  1. rpmautospec needs to be re-bootstrapped for every new Python release
  2. Every new dependency makes the bootstrap more complicated
  3. The dependency on Python and numerous Python packages makes it difficult to create rpmautospec for new EPEL releases

This is largely solvable by rewriting rpmautospec in a compiled language, consuming libgit2 (possibly bundled, to avoid bootstrapping issues due to its erratic backwards-compatibility history) and librpm.

I propose that we make a plan for "rpmautospec 1.0" to be written in C, since that will require no additional bindings for libgit2 or librpm and aim to implement this no later than May 2025 (so as to avoid the Python 3.14 bootstrapping problem).

cc @hroncok @praiskup

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildsystemSomething affecting build systemsdependenciesAffecting dependenciesenhancementNew feature or requestperformanceSomething is slow

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions