]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - update-qt5.sh
- 4.10, package more tools
[packages/rpm-build-tools.git] / update-qt5.sh
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}')
42 dist=th
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
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
81 cd "$topdir"
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
88 for pkg in ${*:-$packages}; do
89         pkg=${pkg%.spec}
90         echo -n "* $pkg ... "
91
92         setup_package $pkg
93         echo "$version $tag"
94 done
This page took 0.04195 seconds and 3 git commands to generate.