crystal-lang / distribution-scripts

40 stars 24 forks source link

Update dnf installation to be compatible with microdnf #324

Closed gabriel-ss closed 3 months ago

gabriel-ss commented 3 months ago

Addresses #322.

Currently, the script uses dnf config-manager to add crystal repo on dnf based systems. The problem with this approach is that config-manager is a plugin for the python implementation of dnf that will eventually be replaced by the new microdnf implementation. Some systems targeted at leaner installations only include microdnf, which is not compatible with the full dnf plugins, making them incompatible with the current strategy.

This PR updates repository installation to manually create a repo file under /etc/yum.repos.d on dnf systems, just like what is currently done for yum based systems. This change not only enables the script to work with microdnf, but also reduces the number of dependencies installed on full dnf as a side-effect.

Tested on Fedora 37, 40 and rawhide containers for regressions.