X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=update-source.sh;h=52eecbb698fd56c2b30aa0e04a0bd59ece269d7c;hb=86b16d83870a6ee0bc17c9ff71f45f248adb52d0;hp=5801207d27391cecafe589ad4fde9f3011aeb858;hpb=858c6f2a733062a84f390724a9666240d8465f20;p=packages%2Feventum.git diff --git a/update-source.sh b/update-source.sh old mode 100644 new mode 100755 index 5801207..52eecbb --- a/update-source.sh +++ b/update-source.sh @@ -1,25 +1,53 @@ #!/bin/sh set -e dropin= +repo_url=https://github.com/eventum/eventum +specfile=eventum.spec # Work in package dir dir=$(dirname "$0") cd "$dir" -if [ "$1" ]; then +if [ -f "$1" ]; then + rev=$1 + version=${rev#eventum-} + version=${version%%-*} + rev=${rev#eventum-*-} + rev=${rev%.tar.gz} + rev=${rev%.tar.xz} +elif [ "$1" ]; then rev=$1 - echo "Using $rev..." +else + # use tarball from "snapshot" build + git fetch "$repo_url" refs/tags/snapshot + # save this under some local ref, so repeated calls don't have to fetch everything + git update-ref refs/keep-around/snapshot FETCH_HEAD + out=$(git show FETCH_HEAD -s) + tarball=$(echo "$out" | grep -oE 'eventum-.*\.tar.(gz|xz)') + url="$repo_url/releases/download/snapshot/$tarball" + test -f "$tarball" || wget -c $url + exec "$0" "$tarball" fi -specfile=eventum.spec +subver=${rev%-*} +githash=${rev#*-g} -oldrev=$(awk '/^%define[ ]+subver[ ]+/{print $NF}' $specfile) -if [ "$oldrev" != "$ver" ]; then - echo "Updating $specfile for $rev" - sed -i -e " - s/^\(%define[ \t]\+subver[ \t]\+\)[0-9]\+\$/\1$rev/ - " $specfile - ../builder -ncs -5 $specfile -else +echo "Using $rev (subver: $subver, githash: $githash)..." + +oldsubver=$(awk '/^%define[\t ]+subver[\t ]+/{print $NF}' $specfile) +oldgithash=$(awk '/^%define[\t ]+githash[\t ]+/{print $NF}' $specfile) +if [ "$oldsubver" = "$subver" -a "$oldgithash" = "$githash" ]; then echo "Already up to date" + exit 0 fi + +echo "Updating $specfile for $rev (subver: $subver, githash: $githash)..." +sed -i -re " + s/^[#%](define[ \t]+subver[ \t]+)[0-9]+\$/%\1$subver/ + s/^[#%](define[ \t]+githash[ \t]+)[0-9a-fg]+\$/%\1$githash/ + /^Source0:.*download\/v/ s/^/#/ + /^#Source0:.*download\/snapshot/ s/^#// +" $specfile +../builder -ncs -5 $specfile + +git commit -am "up to $version-$rev"