Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop pygit2 as a hard dependency #231

Open
6 of 8 tasks
nphilipp opened this issue Feb 5, 2025 · 0 comments · May be fixed by #224
Open
6 of 8 tasks

Drop pygit2 as a hard dependency #231

nphilipp opened this issue Feb 5, 2025 · 0 comments · May be fixed by #224
Assignees
Labels
cpe This ticket needs attention of CPE team dependencies Affecting dependencies testing & CI This affects local testing or CI automation

Comments

@nphilipp
Copy link
Member

nphilipp commented Feb 5, 2025

Story

As someone who bootstraps Python packages in Fedora or EPEL,
I want that rpmautospec has a minimal footprint of hard external dependencies,
so that I have little trouble bootstrapping aches.

Acceptance Criteria

  • A minimal adapter to libgit2 exists which
    • … uses ctypes to call into libgit2
    • … covers the functionality used by rpmautospec during runtime and in tests
    • … mimics the pygit2 API as closely as possible, so it makes no material difference if it or pygit2 is used
    • … prefers known versions of libgit2 before degrading to unknown newer ones
  • A compatibility layer exists which attempts to load pygit2 and upon failure falls back to the minimal adapter
  • CI tests are adapted so the testsuite is run with both pygit2 and the minimal adapter
  • Licensing between rpmautospec itself (MIT) and rpmautospec.minigit2 (partially derived from pygit2, so GPLv2 with licensing exception) is clarified.

Background

  • Dogfooding all around – rpmautospec, pygit2, cffi all use %autorelease/%autochangelog. This is a nice catch-22 when bootstrapping a new Python version.
  • The cffi package was unavailable for a long time in the ramp up to Python 3.13.
@nphilipp nphilipp converted this from a draft issue Feb 5, 2025
@nphilipp nphilipp self-assigned this Feb 5, 2025
@nphilipp nphilipp added dependencies Affecting dependencies testing & CI This affects local testing or CI automation cpe This ticket needs attention of CPE team labels Feb 5, 2025
@nphilipp nphilipp linked a pull request Feb 11, 2025 that will close this issue
@nphilipp nphilipp moved this from In Progress to Todo in Rpmautospec Maintenance Feb 13, 2025
@nphilipp nphilipp moved this from Todo to In Progress in Rpmautospec Maintenance Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpe This ticket needs attention of CPE team dependencies Affecting dependencies testing & CI This affects local testing or CI automation
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

1 participant