41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
# 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.
|
|
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
|
|
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 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!
|