#!/bin/sh # Setup RPM build for TaskWarrior. # # 2026-08-22 Tim Holloway # # NOTE: the %files list may add/remove entries between releases. Adjust as needed. # rpmbuild=$HOME/rpmbuild version=3.5.0 # create build base if it doesn't exist mkdir -p $rpmbuild cd $rpmbuild # # Ensure basic build directories exist # mkdir -p SOURCES SPECS # # Pull source # cd SOURCES git clone https://github.com/GothenburgBitFactory/taskwarrior.git taskwarrior-${version} # # Build version archive # tar cvzf taskwarrior-${version}.tgz --remove-files taskwarrior-${version} # # customize specfile # cd ${rpmbuild} ###rm -rf taskwarrior sed -e "s/@@VERSION@@/${version}/" >${rpmbuild}/SPECS/taskwarrior.spec < Requires: git epel-release fish cmake gnutls-devel libuuid-devel %description A CLI-based manager for tasks and to-dos with scheduling. %prep %setup curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh && . /tmp/rustup.sh -y . "$HOME/.cargo/env" %build %cmake -DCMAKE_BUILD_TYPE=Release %cmake_build %install %cmake_install %files /usr/bin/task /usr/lib/debug/usr/bin/task-@@VERSION@@-0.x86_64.debug /usr/share/bash-completion/completions/task /usr/share/doc/task/ /usr/share/fish/vendor_completions.d/task.fish /usr/share/man/man1/task.1.gz /usr/share/man/man5/task-color.5.gz /usr/share/man/man5/task-sync.5.gz /usr/share/man/man5/taskrc.5.gz /usr/share/zsh/site-functions/_task EOF