From c3b5372947d9f8e58448ce62bae36bae8dd2e425 Mon Sep 17 00:00:00 2001 From: Mikhail Novosyolov Date: Fri, 15 Apr 2022 22:35:19 +0300 Subject: [PATCH] add script to automate updates --- upd.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 upd.sh diff --git a/upd.sh b/upd.sh new file mode 100755 index 0000000..b58329b --- /dev/null +++ b/upd.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# Script to partly automate updating this package +# Based on upd.sh from abf.io/import/instaloader +# sudo dnf install /usr/bin/rpmbuild /usr/bin/spectool /usr/bin/rpmspec /usr/bin/git /usr/bin/curl /usr/bin/abf /usr/bin/jq /usr/bin/sed /usr/bin/tar /usr/bin/xz + +set -x +set -e +set -f +set -u + +spec="$PWD"/pipewire.spec +dir0="$PWD" + +old_version="$(rpmspec -q --srpm --qf '%{version}' "$spec")" +latest_version="$(curl "https://api.github.com/repos/PipeWire/pipewire/tags" | jq -r '.[0].name')" +[ -n "$latest_version" ] +if [ "$old_version" = "$latest_version" ]; then + echo "No updates" + exit 0 +fi + +sed -E -i'' "$spec" \ + -e "s,^Version:.+,Version:\t${latest_version}," \ + -e "s,^Release:.+,Release:\t1," \ + -- + +source0="$(rpmspec --parse "$spec" | grep -i ^Source0: | awk -F '/' '{print $NF}')" +spectool --get-files --source 0 "$spec" +[ -f "$source0" ] + +patches_ok=0 + +tmp="$(mktemp --tmpdir=/tmp -d)" +trap 'if [ "$patches_ok" = 1 ]; then rm -fr "$tmp"; fi' EXIT +# check appliability of patches +rpmbuild --define "_sourcedir $PWD" --define "_builddir $tmp" -bp "$spec" && patches_ok=1 +abf put + +PAGER='' git diff +# can be copypasted for a commit message +echo "upd: $old_version -> $latest_version" + +if [ "$patches_ok" = 0 ]; then + echo "PATCHES require attention!" +fi