summarylogtreecommitdiffstats
path: root/update.sh
blob: f6148abd78de4ee365acc6c2345a4e4b474e425f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/bash

set -e
shopt -s nocasematch
source '/usr/share/makepkg/util.sh'
[[ -t 2 ]] && colorize

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'