taskwarrior-almalinux9/builders/README.md

41 lines
1.9 KiB
Markdown
Raw Normal View History

2026-08-23 15:07:35 +00:00
# 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
2026-08-23 15:07:35 +00:00
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.
1. 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.
Obsolete **Note** that the RPM uses
2026-08-23 15:07:35 +00:00
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.
2026-08-23 15:07:35 +00:00
The ``makebuilder`` script witll 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!