This commit is contained in:
commit
fa3eb28847
4 changed files with 110 additions and 0 deletions
45
run.sh
Normal file
45
run.sh
Normal file
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
built_dir=${COMPILED_DIR:-/compiled}/cavif
|
||||
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 cavif-aaaaaa thing below
|
||||
touch cavif-tmp
|
||||
if $(ls $repo_dir/cavif-* | grep -q "$version"); then
|
||||
rm cavif-tmp
|
||||
echo "package is already up to date, exiting"
|
||||
exit
|
||||
fi
|
||||
rm cavif-tmp
|
||||
|
||||
# prep
|
||||
dnf install fedora-packager rpmdevtools createrepo_c -y
|
||||
rpmdev-setuptree
|
||||
|
||||
# update spec file
|
||||
sed -i "s/Version:.*/Version: $version/g" cavif.spec
|
||||
sed -i "s/DATE_HERE/$(date '+%a %b %d %Y')/g" cavif.spec
|
||||
sed -i "s/CHANGELOG_MESSAGE_HERE/Update to $version/g" cavif.spec
|
||||
sed -i "s/RPM_PACKAGER_NAME/$RPM_PACKAGER_NAME/g" cavif.spec
|
||||
sed -i "s/RPM_PACKAGER_EMAIL/$RPM_PACKAGER_EMAIL/g" cavif.spec
|
||||
|
||||
# build package and move to the repo
|
||||
rpmbuild -bb cavif.spec
|
||||
mv ~/rpmbuild/RPMS/x86_64/cavif-$version-* $repo_dir/
|
||||
|
||||
# remove old versions
|
||||
cd $repo_dir
|
||||
# this is the easiest way to make sure it doesn't just fail because no cavif-* exists
|
||||
# (which only happens on first run)
|
||||
touch cavif-aaaaaa.rpm
|
||||
rm $(ls cavif-*.rpm | sort --version-sort | sed '$d')
|
||||
rm cavif-aaaaaa.rpm
|
||||
|
||||
# update repo
|
||||
createrepo_c .
|
||||
|
||||
echo "package is at $repo_dir/$(ls $repo_dir/cavif-*.rpm)"
|
Loading…
Add table
Add a link
Reference in a new issue