gridhead / nvidia-auto-installer-for-fedora-linux

A CLI tool which lets you install proprietary NVIDIA drivers and much more easily on Fedora Linux (32 or above and Rawhide)
https://ask.fedoraproject.org/t/nvidia-auto-installer-for-fedora-linux-now-works-with-fedora-linux-36/22310/
GNU General Public License v3.0
483 stars 28 forks source link

Proposal: Implement libdnf5 API in Python for Future Commands and Phase Out dnf commands #320

Open FelipeRuizGarcia opened 1 month ago

FelipeRuizGarcia commented 1 month ago

Implement libdnf5 API

This PR intends to discuss the next steps regarding the integration of the libdnf5 API in Python to replace the current use of dnf commands. Additionally, it proposes phasing out the dnf5 plugin to accommodate the expansion to more commands beyond package management, as nvidia-open etc.

Open GPU kernel modules versus Proprietary drivers https://github.com/NVIDIA/open-gpu-kernel-modules

Motivation:

Flexibility: The libdnf5 API offers a more flexible and programmable approach, allowing us to add new features and commands without relying on external command-line tools.

Future Expansion: Moving away from dnf5 plugins will open the door for broader functionality beyond the scope of traditional dnf operations.

https://dnf5.readthedocs.io/en/latest/api/index.html

https://github.com/rpm-software-management/dnf5/tree/main

Implement libdnf5 API:

Transition from using dnf at the command level to utilizing the libdnf5 API in Python. This change is aimed at making the tool more adaptable for future developments and expanding beyond package management.

Next Steps:

Begin the integration process by replacing existing dnf command calls with corresponding libdnf5 API calls.

Gradually phase out the dnf5 plugin while ensuring backward compatibility during the transition period.

Document the new API usage and update any related documentation or scripts.

With the flexibility of the API, adding more features to configure repositories and packages becomes straightforward. For example, enabling Fedora Rawhide repositories.

FelipeRuizGarcia commented 1 month ago

What do you think ? please provide feedback. @gridhead @onuralpszr