diff --git a/README.md b/README.md index 144a763..b85b035 100644 --- a/README.md +++ b/README.md @@ -54,8 +54,12 @@ your appropriate distro-specific location. In the major distributions, it should just be possible to run `make` to build a package for your specific distro. As of this writing, there is support to -build for Debian, Ubuntu, Arch, and Manjaro. Patches are welcome to help improve -availability on other platforms. +build for Debian, Ubuntu, Arch, Manjaro, and an experimental package for +Fedora. Patches are welcome to help improve availability on other platforms. + +For the most up-to-date build instructions, have a look at the +[.drone.yml](.drone.yml) file, but below are more human-friendly instructions +for the five supported package systems. #### Debian and Debian derivatives @@ -71,3 +75,56 @@ Now you can build the package: lupin:~/src/g13gui$ make ``` +After this completes, you'll have a shiny new `deb` package inside of `build/` that you can +install using `make install`. + +#### Arch and Arch derivatives + +First, setup your system with build tooling: + +``` +lupin:~/src/g13gui$ sudo pacman -Syu +lupin:~/src/g13gui$ sudo pacman -S base-devel python meson lsb-release git +``` + +And build the package: + +``` +lupin:~/src/g13gui$ make +``` + +After this completes, you should have a shiny new `zst` package in `build/` that you can +install using `make install`. + +#### Fedora and RPM derivatives + +Fedora and its derivatives have a wild and wacky build system for making RPM packages +from `.spec` files. Thus, the `Makefile` kinda has to manage the build differently than +other builds, and modifies things outside of the source tree, sadly. + +First, you need to setup your system with the build tooling: + +``` +[user@lupin g13gui]$ sudo dnf install rpmdevtools rpmlint make python meson lsb-release git +``` + +Now, here's where things get wacky. The `Makefile` uses `rpmbuild`'s `rpmdev-setuptree` +to create the `$HOME/rpmbuild` directory. Unfortunately, this is _entirely_ out of +our control, and the `rpmbuild` tooling insists (rather stupidly) that it work out +of this tree. So bear in mind, **if you already have an `rpmbuild` directory tree +prepped, the Makefile will clobber it.** + +You can build the RPM in the usual way above, with: + +``` +[user@lupin g13gui]$ make +``` + +This will produce an RPM package you can install in the `build/` subdirectory +of the source tree. Unfortunately, the `rpmbuild` directory will still hang +around until you issue a `make clean`. You can install it using `make install`. + +If you know of a better way of building RPMs, please send a pull request. June +hasn't used Fedora or RPM-based distros since she was in high school, so the +tooling is entirely foreign to her. +