ascii-boxes / boxes

Command line ASCII boxes unlimited!
https://boxes.thomasjensen.com/
GNU General Public License v3.0
613 stars 75 forks source link

Boxes missing on RedHat 8 and 9 #102

Closed kkeane closed 2 years ago

kkeane commented 2 years ago

Documentation error: the documentation (at https://boxes.thomasjensen.com/download.html ) says that "dnf install boxes" should just work. It doesn't. That's disappointing - I love to prettify my login screens!

What is missing is information about which repository needs to be added, as well as which distribution the statement refers to. I have a hunch that it may only work on Fedora, but not on RedHat and its siblings (Rocky/Alma/CentOS).

For RedHat 7, boxes was in the EPEL repository, but RHEL 7 used yum, not dnf

For RedHat 8 and 9, I have not been able to find any repository that actually contains boxes.

tsjensen commented 2 years ago

That's right, to my knowledge, we have Fedora, but not RHEL.

I added the distribution names where I know things work to the website, in hopes of making this clearer.

Can you help with publishing a package for RHEL, and yum? This would be very useful!

kkeane commented 2 years ago

Thank you! Unfortunately, I have neither a setup for building RPMs, nor access to the EPEL repos - not sure if they accept PRs, or how that works.

tsjensen commented 2 years ago

@tim77 Is there a way to make our Fedora package available to other distros which use dnf? Or would that mean to redo the work for their environments?

kkeane commented 2 years ago

@tsjensen dnf is essentially the same as yum, just a rewrite. The RPM files are the same (in terms of format, not content - that depends on the distro). In dnf distros, yum is usually a symbolic link, and you can use dnf and yum synonymously.

The content of the RPM may need to be different from one distro to the next, because paths or APIs may be different. Copying an RPM from Fedora to CentOS Stream, or from there to RedHat, or even from RedHat 8 to RedHat 9, may or may not work. Or, worse, may seem to work and then cause subtle problems - which is why I didn't simply use the Fedora RPMs on our RedHat systems. You will probably need to build several separate RPMs. I believe that RPMs also somehow encode the distro they are designed for, but I'm not sure how that works.

The RHEL 8 and 9 ones will probably also work for the corresponding AlmaLinux and Rocky distros without recompiling (that is Alma's and Rocky's claim to fame, after all). RedHat also all but guarantees that an RPM that works with one minor version (say, 8.1) will continue to work with all future minor versions, but major versions will break existing RPMs.

Most likely, the changes to the build process will be small, probably a few if statements in the Makefile, the spec file, or both. But that's where my experience ends.

Another hint: opensuse operates a build service where you essentially submit source code, and their servers build the packages for a whole slew of distros from the same spec file. They build packages for recent versions of openSUSE, SLES, CentOS, Fedora, Red Hat Enterprise Linux, Ubuntu, Debian and Mandriva/Mageia

https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto

Update: disregard the opensuse build service - it does not appear to support RedHat 8 or RedHat 9

tim77 commented 2 years ago

Boxes available in Testing EPEL 9 repo now https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-e4d266d623.

tsjensen commented 2 years ago

Boxes available in Testing EPEL 9 repo now

Nice! Thank you @tim77!

tim77 commented 2 years ago

And now Boxes available on EPEL 8 (Testing repo currently). It will go into Stable repo after 7 days automatically, but you can speedup this process and test this build and then give a positive +1 karma in Bodhi service, see https://fedoramagazine.org/contributing-fedora-testing-packages/.

Enjoy Boxes on RHEL 8,9. :tada:

tsjensen commented 2 years ago

Wow, that was quick! Thank you! 😎👍