#!/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 # # Pull source # git clone https://github.com/GothenburgBitFactory/taskwarrior.git # # Build version archive # mkdir -p SOURCES SPECS cd taskwarrior git archive --format=tgz -o ${rpmbuild}/SOURCES/taskwarrior-${version}.tgz --prefix=taskwarrior-${version} v${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/AUTHORS /usr/share/doc/task/ChangeLog /usr/share/doc/task/INSTALL /usr/share/doc/task/LICENSE /usr/share/doc/task/README.md /usr/share/doc/task/rc/bubblegum-256.theme /usr/share/doc/task/rc/dark-16.theme /usr/share/doc/task/rc/dark-256.theme /usr/share/doc/task/rc/dark-blue-256.theme /usr/share/doc/task/rc/dark-gray-256.theme /usr/share/doc/task/rc/dark-gray-blue-256.theme /usr/share/doc/task/rc/dark-green-256.theme /usr/share/doc/task/rc/dark-red-256.theme /usr/share/doc/task/rc/dark-violets-256.theme /usr/share/doc/task/rc/dark-yellow-green.theme /usr/share/doc/task/rc/default.theme /usr/share/doc/task/rc/holidays.cs-CZ.rc /usr/share/doc/task/rc/holidays.da-DK.rc /usr/share/doc/task/rc/holidays.de-AT.rc /usr/share/doc/task/rc/holidays.de-BE.rc /usr/share/doc/task/rc/holidays.de-CH.rc /usr/share/doc/task/rc/holidays.de-DE.rc /usr/share/doc/task/rc/holidays.el-GR.rc /usr/share/doc/task/rc/holidays.en-CA.rc /usr/share/doc/task/rc/holidays.en-GB.rc /usr/share/doc/task/rc/holidays.en-NZ.rc /usr/share/doc/task/rc/holidays.en-US.rc /usr/share/doc/task/rc/holidays.es-CO.rc /usr/share/doc/task/rc/holidays.es-ES.rc /usr/share/doc/task/rc/holidays.es-US.rc /usr/share/doc/task/rc/holidays.fi-FI.rc /usr/share/doc/task/rc/holidays.fr-BE.rc /usr/share/doc/task/rc/holidays.fr-CA.rc /usr/share/doc/task/rc/holidays.fr-FR.rc /usr/share/doc/task/rc/holidays.hr-HR.rc /usr/share/doc/task/rc/holidays.hu-HU.rc /usr/share/doc/task/rc/holidays.is-IS.rc /usr/share/doc/task/rc/holidays.it-IT.rc /usr/share/doc/task/rc/holidays.nb-NO.rc /usr/share/doc/task/rc/holidays.nl-BE.rc /usr/share/doc/task/rc/holidays.nl-NL.rc /usr/share/doc/task/rc/holidays.pl-PL.rc /usr/share/doc/task/rc/holidays.por-PRT.rc /usr/share/doc/task/rc/holidays.pt-BR.rc /usr/share/doc/task/rc/holidays.pt-PT.rc /usr/share/doc/task/rc/holidays.ru-RU.rc /usr/share/doc/task/rc/holidays.sk-SK.rc /usr/share/doc/task/rc/holidays.sv-FI.rc /usr/share/doc/task/rc/holidays.sv-SE.rc /usr/share/doc/task/rc/holidays.tr-TR.rc /usr/share/doc/task/rc/light-16.theme /usr/share/doc/task/rc/light-256.theme /usr/share/doc/task/rc/no-color.theme /usr/share/doc/task/rc/refresh /usr/share/doc/task/rc/solarized-dark-256.theme /usr/share/doc/task/rc/solarized-light-256.theme /usr/share/doc/task/scripts/add-ons/README /usr/share/doc/task/scripts/add-ons/update-holidays.pl /usr/share/doc/task/scripts/hooks/README /usr/share/doc/task/scripts/hooks/on-add /usr/share/doc/task/scripts/hooks/on-add.the /usr/share/doc/task/scripts/hooks/on-exit /usr/share/doc/task/scripts/hooks/on-exit.shadow-file /usr/share/doc/task/scripts/hooks/on-launch /usr/share/doc/task/scripts/hooks/on-modify /usr/share/doc/task/scripts/vim/README /usr/share/doc/task/scripts/vim/ftdetect/task.vim /usr/share/doc/task/scripts/vim/syntax/taskdata.vim /usr/share/doc/task/scripts/vim/syntax/taskedit.vim /usr/share/doc/task/scripts/vim/syntax/taskrc.vim /usr/share/doc/task/task-ref.pdf /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 /usr/bin/task /usr/lib/debug/usr/bin/task-@@VERSION@@-0.x86_64.debug /usr/share/bash-completion/completions/task /usr/share/doc/task/AUTHORS /usr/share/doc/task/ChangeLog /usr/share/doc/task/INSTALL /usr/share/doc/task/LICENSE /usr/share/doc/task/README.md /usr/share/doc/task/rc/bubblegum-256.theme /usr/share/doc/task/rc/dark-16.theme /usr/share/doc/task/rc/dark-256.theme /usr/share/doc/task/rc/dark-blue-256.theme /usr/share/doc/task/rc/dark-gray-256.theme /usr/share/doc/task/rc/dark-gray-blue-256.theme /usr/share/doc/task/rc/dark-green-256.theme /usr/share/doc/task/rc/dark-red-256.theme /usr/share/doc/task/rc/dark-violets-256.theme /usr/share/doc/task/rc/dark-yellow-green.theme /usr/share/doc/task/rc/default.theme /usr/share/doc/task/rc/holidays.cs-CZ.rc /usr/share/doc/task/rc/holidays.da-DK.rc /usr/share/doc/task/rc/holidays.de-AT.rc /usr/share/doc/task/rc/holidays.de-BE.rc /usr/share/doc/task/rc/holidays.de-CH.rc /usr/share/doc/task/rc/holidays.de-DE.rc /usr/share/doc/task/rc/holidays.el-GR.rc /usr/share/doc/task/rc/holidays.en-CA.rc /usr/share/doc/task/rc/holidays.en-GB.rc /usr/share/doc/task/rc/holidays.en-NZ.rc /usr/share/doc/task/rc/holidays.en-US.rc /usr/share/doc/task/rc/holidays.es-CO.rc /usr/share/doc/task/rc/holidays.es-ES.rc /usr/share/doc/task/rc/holidays.es-US.rc /usr/share/doc/task/rc/holidays.fi-FI.rc /usr/share/doc/task/rc/holidays.fr-BE.rc /usr/share/doc/task/rc/holidays.fr-CA.rc /usr/share/doc/task/rc/holidays.fr-FR.rc /usr/share/doc/task/rc/holidays.hr-HR.rc /usr/share/doc/task/rc/holidays.hu-HU.rc /usr/share/doc/task/rc/holidays.is-IS.rc /usr/share/doc/task/rc/holidays.it-IT.rc /usr/share/doc/task/rc/holidays.nb-NO.rc /usr/share/doc/task/rc/holidays.nl-BE.rc /usr/share/doc/task/rc/holidays.nl-NL.rc /usr/share/doc/task/rc/holidays.pl-PL.rc /usr/share/doc/task/rc/holidays.por-PRT.rc /usr/share/doc/task/rc/holidays.pt-BR.rc /usr/share/doc/task/rc/holidays.pt-PT.rc /usr/share/doc/task/rc/holidays.ru-RU.rc /usr/share/doc/task/rc/holidays.sk-SK.rc /usr/share/doc/task/rc/holidays.sv-FI.rc /usr/share/doc/task/rc/holidays.sv-SE.rc /usr/share/doc/task/rc/holidays.tr-TR.rc /usr/share/doc/task/rc/light-16.theme /usr/share/doc/task/rc/light-256.theme /usr/share/doc/task/rc/no-color.theme /usr/share/doc/task/rc/refresh /usr/share/doc/task/rc/solarized-dark-256.theme /usr/share/doc/task/rc/solarized-light-256.theme /usr/share/doc/task/scripts/add-ons/README /usr/share/doc/task/scripts/add-ons/update-holidays.pl /usr/share/doc/task/scripts/hooks/README /usr/share/doc/task/scripts/hooks/on-add /usr/share/doc/task/scripts/hooks/on-add.the /usr/share/doc/task/scripts/hooks/on-exit /usr/share/doc/task/scripts/hooks/on-exit.shadow-file /usr/share/doc/task/scripts/hooks/on-launch /usr/share/doc/task/scripts/hooks/on-modify /usr/share/doc/task/scripts/vim/README /usr/share/doc/task/scripts/vim/ftdetect/task.vim /usr/share/doc/task/scripts/vim/syntax/taskdata.vim /usr/share/doc/task/scripts/vim/syntax/taskedit.vim /usr/share/doc/task/scripts/vim/syntax/taskrc.vim /usr/share/doc/task/task-ref.pdf /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