#!/usr/bin/env bash set -euxo pipefail program_name="librewolf-allow-dark" built_dir=${COMPILED_DIR:-/compiled}/$program_name version=$(cat $built_dir/version) version_no_dash=$(echo $version | sed 's/-/./g') repo_dir=${REPO_DIR:-/repo} # skip if already up-to-date # TODO: use the repo instead and check the version with dnf # yeah this is bad; see also the librewolf-allow-dark-aaaaaa thing below touch $repo_dir/$program_name-tmp if $(ls $repo_dir/$program_name-* | grep -q "$version_no_dash"); then rm $repo_dir/$program_name-tmp echo "package is already up to date, exiting" exit fi rm $repo_dir/$program_name-tmp # prep dnf install fedora-packager rpmdevtools createrepo_c -y rpmdev-setuptree sed -i "s/Version:.*/Version: $version_no_dash/g" $program_name.spec # build package and move to the repo rpmbuild -bb $program_name.spec mv ~/rpmbuild/RPMS/x86_64/$program_name-$version_no_dash-* $repo_dir/ # remove old versions cd $repo_dir # this is the easiest way to make sure it doesn't just fail because no librewolf-allow-dark-* exists # (which only happens on first run) touch $program_name-0.rpm rm $(ls $program_name-*.rpm | sort --version-sort | sed '$d') rm $program_name-0.rpm || true # update repo createrepo_c . cd $repo_dir echo "package is at $repo_dir/$(ls $program_name-*.rpm)"