PKGBUILDs/vlc/nightly/update.sh

81 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
set -e
shopt -s nocasematch
if [[ -f '/usr/share/makepkg/util.sh' ]]; then
source '/usr/share/makepkg/util.sh'
[[ -t 2 ]] && colorize
else
function msg() {
echo '=>' "$@"
}
function msg2() {
echo ' ' "$@"
}
fi
msg 'Query list of nightly sources'
srcurl='http://nightlies.videolan.org/build/source/'
srclist=$(curl "$srcurl")
msg 'Find latest nightly'
fileregex='(<a\ +href=\")(vlc-([^\"]+)-([^\"]+)-([^\"]+)-([^\"]+))(\">)'
if ! [[ $srclist =~ $fileregex ]]; then
echo 'No source found'
exit -1
fi
srcfile=${BASH_REMATCH[2]}
msg2 "source file: $srcfile"
msg 'Split file name of latest nightly into components used in the PKGBUILD'
compregex='vlc-(.*)-(.*)-(.*)-(.*).tar.xz'
if ! [[ $srcfile =~ $compregex ]]; then
echo 'Unable to split source file into components used in PKGBUILD'
exit -1
fi
version=${BASH_REMATCH[1]}
date=${BASH_REMATCH[2]}
strange_number=${BASH_REMATCH[3]}
suffix=${BASH_REMATCH[4]}
msg2 "version: $version"
msg2 "date: $date"
msg2 "strange number: $strange_number"
msg2 "suffix: $suffix"
msg 'Update PKGBUILD'
mv 'PKGBUILD' 'PKGBUILD.bak'
awk \
-v pkgver="pkgver=${version}v${date}" \
-v _pkgver="_pkgver=${version}" \
-v _snapshot_="_snapshot_=${date}" \
-v _snapver_="_snapver_=${strange_number}" \
-v _suffix_="_suffix_=${suffix}" \
' /^[[:blank:]]*_pkgver=.*$/ {
print _pkgver
next
}
/^[[:blank:]]*pkgver=.*$/ {
print pkgver
next
}
/^[[:blank:]]*_snapshot_=.*$/ {
print _snapshot_
next
}
/^[[:blank:]]*_snapver_=.*$/ {
print _snapver_
next
}
/^[[:blank:]]*_suffix_=.*$/ {
print _suffix_
next
}
1
END {
}
' \
'PKGBUILD.bak' > 'PKGBUILD'
git diff 'PKGBUILD'