X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=update-source.sh;h=9c8c607af128e201ba3ce5074aa87845f75e74a6;hb=2023f1984fedc7394424f8589bc18684bca07b84;hp=6b1e3a287de6a3cc9b144636f290e3251e18bc89;hpb=899100ff46062633ab93050c4e902fa48111b3d9;p=packages%2Feventum.git diff --git a/update-source.sh b/update-source.sh old mode 100644 new mode 100755 index 6b1e3a2..9c8c607 --- a/update-source.sh +++ b/update-source.sh @@ -1,6 +1,7 @@ #!/bin/sh set -e dropin= +repo_url=https://github.com/eventum/eventum specfile=eventum.spec # Work in package dir @@ -9,22 +10,35 @@ cd "$dir" if [ -f "$1" ]; then rev=$1 - rev=${rev#eventum-*-r} + rev=${rev#eventum-*-} rev=${rev%.tar.gz} - echo "Using $rev..." - elif [ "$1" ]; then rev=$1 - echo "Using $rev..." +else + # use tarball from "snapshot" build + git fetch "$repo_url" refs/tags/snapshot + out=$(git show FETCH_HEAD -s) + tarball=$(echo "$out" | grep -o 'eventum-.*\.tar.gz') + url="$repo_url/releases/download/snapshot/$tarball" + test -f "$tarball" || wget -c $url + exec "$0" "$tarball" fi -oldrev=$(awk '/^%define[ ]+subver[ ]+/{print $NF}' $specfile) -if [ "$oldrev" != "$rev" ]; then - echo "Updating $specfile for $rev" - sed -i -e " - s/^\(%define[ \t]\+subver[ \t]\+\)[0-9]\+\$/\1$rev/ - " $specfile - ../builder -ncs -5 $specfile -else +subver=${rev%-*} +githash=${rev#*-g} + +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/ +" $specfile +../builder -ncs -5 $specfile