taskwarrior-almalinux9/builders/README.md

1.9 KiB

Building TaskWarrior on AlmaLinux 9 and similar RHEL-style OS's

This directory contains 2 different ways to build and install TaskWarrior.

These builders were designed to run on a basic AlmaLinux 9 VM. I downloaded the "boot" ISO, spawned a VM using it as the install media and everything else is provided by the builder.

Note that TaskWarrior has two special requirements to build:

  1. The Fish shell must be installed. It is not one of the standard shells, but can be installed from the EPEL repository.
  2. The Rust language system provided with AlmaLinux 9 is too old to build. If you have the stock Rust RPM installed, uninstall it and use the rustup process to get the latest one.

Both of these issues are resolved in the brute_build script.

The "brute_build" file is a shell script that builds and installs by brute force. If you have trouble building the RPM, use it.

Note that the RPM uses an explicit file list and rpmbuild will complain if you build a release that adds or removes files from this list. In that case, just edit the %files section of the RPM spec file. Case in point: bash completions are not present in the 3.5.0 build but present in the current devel build.

The makebuilder script will setup for rpmbuild. It downloads the source code to the rpmbuild SOURCES directory and creates a custom spec file in the SPECS directory. Select the version of TaskWarrior you want to build by editng the version variable in makebuilder. By default the RPM will build your $HOME/rpmbuild directory, but you can change that in the makebuilder. All necessary directories will be created automatically, including the rpmbuild directory.

IMPORTANT NOTE

The build process invokes git to pull submodules. Therefore, whether using the brute-force builder or the RPM builder it is essential that the source code directory is a git project directory and not just bare source!