wluma/run.sh
askiiart bacfc6719c
Some checks failed
continuous-integration/drone Build is failing
initial commit
2025-03-25 12:18:45 -05:00

43 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
program_name="wluma"
built_dir=${COMPILED_DIR:-/compiled}/$program_name
version=$(cat $built_dir/version)
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 wluma-aaaaaa thing below
touch $repo_dir/$program_name-tmp
if $(ls $repo_dir/$program_name-* | grep -q "$version"); 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/g" $program_name.spec
# build package and move to the repo
rpmbuild -bb $program_name.spec
mv ~/rpmbuild/RPMS/x86_64/$program_name-$version-* $repo_dir/
# remove old versions
cd $repo_dir
# this is the easiest way to make sure it doesn't just fail because no wluma-* 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)"