]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - update-geoip.sh
Make sure readable file is uploaded.
[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 *.xz
33
34         specfile=*.spec
35
36         out=$(../md5 -p1 $specfile 2>&1) || echo "$out"
37
38         version=$(awk '/^Version:[      ]+/{print $NF}' $specfile)
39         case "$pkg" in
40         xtables-geoip)
41                 dt4=$(TZ=GMT stat -c '%y' *.zip | awk '{print $1}' | tr -d -)
42                 dt6=$(TZ=GMT stat -c '%y' *.gz | awk '{print $1}' | tr -d -)
43                 if [ "$dt4" -gt "$dt6" ]; then
44                         dt=$dt4
45                 else
46                         dt=$dt6
47                 fi
48                 ;;
49         GeoIP-db-City)
50                 dt=$(TZ=GMT stat -c %y *.xz | awk '{print $1}' | tr - .)
51                 ;;
52         *)
53                 dt=$(TZ=GMT stat -c %y *.gz | awk '{print $1}' | tr - .)
54                 ;;
55         esac
56
57         if [ "$version" != "$dt" ]; then
58                 version=$dt
59                 sed -i -e "
60                         s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$version/
61                         s/^\(Release:[ \t]\+\)[.0-9]\+\$/\11/
62                 " $specfile
63         fi
64
65         out=$(../builder -bb *.spec 2>&1) || echo "$out"
66         cd ..
67 done
68
69 for pkg in ${*:-$pkgs}; do
70         cd $pkg
71         git status --porcelain
72         cd ..
73 done
This page took 0.030367 seconds and 3 git commands to generate.