]>
Commit | Line | Data |
---|---|---|
51bd59be ER |
1 | #!/bin/sh |
2 | # Update qt5 packages | |
3 | # | |
4 | # Author: Elan Ruusamäe <glen@pld-linux.org> | |
5 | # 2015-06-13 Created initial version | |
6 | ||
7 | set -e | |
8 | ||
9 | # grep Version:.*5.4 ~/all-specs/qt5*.spec -l|xargs -I {} basename {} .spec | |
10 | packages=" | |
11 | qt5-qtbase | |
12 | ||
13 | qt5-qtconnectivity | |
14 | qt5-qtdeclarative | |
15 | qt5-qtdoc | |
16 | qt5-qtenginio | |
17 | qt5-qtgraphicaleffects | |
18 | qt5-qtimageformats | |
19 | qt5-qtlocation | |
20 | qt5-qtmultimedia | |
21 | qt5-qtscript | |
22 | qt5-qtsensors | |
23 | qt5-qtserialport | |
24 | qt5-qtsvg | |
25 | qt5-qttools | |
26 | qt5-qtwayland | |
27 | qt5-qtwebchannel | |
28 | qt5-qtwebkit-examples | |
29 | qt5-qtwebkit | |
30 | qt5-qtwebsockets | |
31 | qt5-qtx11extras | |
32 | qt5-qtxmlpatterns | |
33 | ||
34 | qt5-qtquick1 | |
35 | qt5-qtquickcontrols | |
36 | " | |
37 | ||
38 | dir=$(dirname "$0") | |
39 | APPDIR=$(d=$0; [ -L "$d" ] && d=$(readlink -f "$d"); dirname "$d") | |
40 | PATH=$APPDIR:$PATH | |
41 | topdir=$(rpm -E '%{_topdir}') | |
6e5812f7 | 42 | dist=th |
51bd59be ER |
43 | |
44 | # get package, no sources | |
45 | get_package() { | |
46 | local pkg=$1 out | |
47 | out=$(builder -g -ns $pkg 2>&1) || echo "$out" | |
48 | } | |
49 | ||
6e5812f7 ER |
50 | # get version fron $specfile |
51 | get_version() { | |
52 | local specfile="$1" | |
53 | ||
54 | awk '/^Version:[ ]+/{print $NF}' $specfile | tail -n1 | |
55 | } | |
56 | ||
57 | # displays latest used tag for a specfile | |
58 | autotag() { | |
59 | local out s | |
60 | for s in "$@"; do | |
61 | # strip branches | |
62 | s=${s%:*} | |
63 | # ensure package ends with .spec | |
64 | s=${s%.spec}.spec | |
65 | git fetch --tags | |
66 | out=$(git for-each-ref --count=1 --sort=-authordate refs/tags/auto/$dist \ | |
67 | --format='%(refname:short)') | |
68 | echo "$s:$out" | |
69 | done | |
70 | } | |
71 | ||
72 | # get $pkg, setup $package, $version, $tag | |
73 | setup_package() { | |
74 | local package=$1 | |
75 | local specfile=$package.spec | |
76 | get_package $package | |
77 | version=$(cd $package && get_version $specfile) | |
78 | tag=$(cd $package && autotag $specfile) | |
79 | } | |
80 | ||
51bd59be | 81 | cd "$topdir" |
6e5812f7 ER |
82 | |
83 | # get new version from qtbase package | |
84 | setup_package qt5-qtbase | |
85 | echo "Updating version to $version (based on qt5-qtbase)" | |
86 | set_version=$version | |
87 | ||
51bd59be ER |
88 | for pkg in ${*:-$packages}; do |
89 | pkg=${pkg%.spec} | |
6e5812f7 | 90 | echo -n "* $pkg ... " |
51bd59be | 91 | |
6e5812f7 ER |
92 | setup_package $pkg |
93 | echo "$version $tag" | |
51bd59be | 94 | done |