]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - update-geoip.sh
use porcelain
[packages/rpm-build-tools.git] / update-geoip.sh
1 #!/bin/sh
2 set -e
3
4 update=false
5 status=false
6 while [ $# -gt 0 ]; do
7         case "$1" in
8         update|-update|--update)
9                 update=true
10                 shift
11                 ;;
12         status|-status|--status)
13                 status=true
14                 shift
15                 ;;
16         *)
17                 break
18                 ;;
19         esac
20 done
21
22 dir=$(dirname "$0");
23 cd "$dir"
24
25 pkgs='GeoIP-db-City GeoIP-db-Country GeoIP-db-IPASNum xtables-geoip'
26 for pkg in ${*:-$pkgs}; do
27         $status && continue
28
29         out=$(./builder -g -ns $pkg 2>&1) || echo "$out"
30         cd $pkg
31
32         $update && rm -vf *.gz *.zip
33
34         specfile=*.spec
35
36         out=$(../md5 -p1 $specfile 2>&1) || echo "$out"
37
38         version=$(awk '/^Version:[      ]+/{print $NF}' $specfile)
39         if [ $pkg = "xtables-geoip" ]; then
40                 dt4=$(TZ=GMT stat -c '%y' *.zip | awk '{print $1}' | tr -d -)
41                 dt6=$(TZ=GMT stat -c '%y' *.gz | awk '{print $1}' | tr -d -)
42                 if [ "$dt4" -gt "$dt6" ]; then
43                         dt=$dt4
44                 else
45                         dt=$dt6
46                 fi
47         else
48                 dt=$(TZ=GMT stat -c %y *.gz | awk '{print $1}' | tr - .)
49         fi
50         if [ "$version" != "$dt" ]; then
51                 version=$dt
52                 sed -i -e "
53                         s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$version/
54                         s/^\(Release:[ \t]\+\)[.0-9]\+\$/\11/
55                 " $specfile
56         fi
57
58         out=$(../builder -bb *.spec 2>&1) || echo "$out"
59         cd ..
60 done
61
62 for pkg in ${*:-$pkgs}; do
63         cd $pkg
64         git status --porcelain
65         cd ..
66 done
This page took 0.037461 seconds and 4 git commands to generate.