You can always compile from source as @doct0rHu said but keep in mind that if you do that, you own that software installation. So you have to make sure it doesn’t clash with CL files under /usr and it won’t be updated for you by CL.
If it’s opensource software, please request it to be added natively in CL so we can add it and others can benefit in the future.
I do a lot of work with multimedia, so I have to install flatpaks or build from source to get the codecs I need. I guess the answer depends on what you use your system for.
dnf is used as an underlying mechanism for package dependency management and resolution during the mixing process to bundles. In otherwords, it’s used to make sure bundles can exist without conflict and not throw an error during installation.
Another reason to include dnf as a tool in the OS is for developers that need to query external repo information, but not necessarily install from it. Here is a guide that was recently publish for doing this against the CL packages, for example: https://docs.01.org/clearlinux/latest/guides/maintenance/query-upstream.html
What is the use case(s) which pushed to have yum and dnf available on CL ? I’m curious
CL uses rpm as base to do the first packaging step, then use mixer to do
bundles and swupd is used to ship them.
Basically CL uses RPM to have a dependency and others stuff easy to
manage, that’s why we have autospec which is a tool to create SPEC
files from upstream source code.
BUT CL do not use RPM Database to ship binaries, CL uses deltas from
each bundle.
Is it safe to say that dnf and yum should be totally avoided for installing packages on CL ? Is there a real risk to brick the system or will the app simply break on next OS update ?
What about AppImages ? Should they be used as much as Flatpacks ?
For end users, yes. If you do choose use it, tread carefully and review what those external repos are putting on the filesystem.
FlatPak is the supported/integrated solution by CL to get immediate access to a large variety of applications. In the mean time, the focus is to get more and more software packaged natively in CL as bundles.
To your order of methods for obtaining software, I would add “request the software to be packaged in CL” somewhere in there. If it makes sense and checks all the boxes for open source, it’s likely faster and easier for it to be included in the distro. You can open new package request on Github: Sign in to GitHub · GitHub
Appimages are perfectly fine, and just as good as flatpak’s. They do not rely on any support from the OS, and may therefore be easier to work with - just download and run. However, updating them is a manual thing. Nonetheless, if you can get an appimage for something you really need, it’s a great solution.
I’m a little sad that you didn’t elaborate on this, because the solution is almost always trivial.
Most autotool applications install into /usr/local when you run configure without any parameters.
And that literally solves that problem.
My advice: don’t hesitate to compile from source. Here’s what I would recommend for standard parameters for configure scripts: --prefix=/usr/local --localstatedir=/var --sysconfdir=/etc.