Skip to content

Instantly share code, notes, and snippets.

@niner
Created July 11, 2020 20:54
Show Gist options
  • Save niner/98f26b41f9f7a5f79cb8b9b8c4b6048d to your computer and use it in GitHub Desktop.
Save niner/98f26b41f9f7a5f79cb8b9b8c4b6048d to your computer and use it in GitHub Desktop.
cd rakudo
PREVIOUSRAKUDOGITVERSION=$(git -C rakudo describe --always --tags --long)
git -C rakudo pull
git -C rakudo submodule update
RAKUDOGITVERSION=$(git -C rakudo describe --always --tags --long)
git -C rakudo --no-pager diff --quiet $PREVIOUSRAKUDOGITVERSION..$RAKUDOGITVERSION && exit 0
osc up
PREVIOUS="$(ls rakudo-*)"
PREVIOUSRAKUDOVERSION=$(echo -n $PREVIOUS | sed -e 's/rakudo-//' | sed -e 's/\.tar\.\(gz\|xz\)//')
RAKUDOVERSION=$(echo -n $RAKUDOGITVERSION | sed 's/-/+git/' | sed 's/-/./g')
echo "Updating version to: $RAKUDOVERSION"
RAKUDOFILE=rakudo-$RAKUDOVERSION.tar.xz
tar cJf $RAKUDOFILE --exclude=.git --transform="s/^rakudo/rakudo-$RAKUDOVERSION/" rakudo
perl -p -i -e 's/^Version:(\s*)\S*/Version:${1}'$RAKUDOVERSION/ rakudo.spec
NQPVERSION=$(cat rakudo/tools/templates/NQP_REVISION | sed 's/-/+git/' | sed 's/-/./g')
perl -p -i -e 's/^(BuildRequires:\s*nqp\s+>=\s+)\S*/${1}'$NQPVERSION/ rakudo.spec
osc add $RAKUDOFILE
osc rm --force $PREVIOUS
mv rakudo.changes rakudo.changes.old
echo ------------------------------------------------------------------- > rakudo.changes
echo "$(LC_TIME=en.US.UTF-8 date) - nine@detonation.org" >> rakudo.changes
echo >> rakudo.changes
echo "- update to version $RAKUDOVERSION" >> rakudo.changes
git -C rakudo log --no-merges --oneline $PREVIOUSRAKUDOGITVERSION..$RAKUDOGITVERSION | sed -e 's/^/* /' >> rakudo.changes
echo >> rakudo.changes
cat rakudo.changes.old >> rakudo.changes
rm rakudo.changes.old
MESSAGE="- update to version $RAKUDOVERSION
$(git -C rakudo log --no-merges --oneline $PREVIOUSRAKUDOGITVERSION..$RAKUDOGITVERSION | sed -e 's/^/* /')"
osc commit -m "$MESSAGE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment