44 lines
1.3 KiB
Bash
Executable file
44 lines
1.3 KiB
Bash
Executable file
#!/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=$(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"); 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 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)"
|