|
1 ## |
|
2 ## release.sh -- Project Release Utility |
|
3 ## |
|
4 |
|
5 # Requires: GNU shtool |
|
6 # |
|
7 # Usage: ./release version |
|
8 # ./release tag |
|
9 # ./release dist |
|
10 # ./release upload |
|
11 |
|
12 version () { |
|
13 shtool version -l c -n "Europalab schachuhr" -p "schuhr_" -e version.cpp |
|
14 V=`shtool version -l c -d long version.cpp` |
|
15 sed -e "s/Version .*(.*)/Version $V/g" <docs/readme.txt >docs/readme.txt.n |
|
16 mv docs/readme.txt.n docs/readme.txt |
|
17 } |
|
18 |
|
19 tag () { |
|
20 V=`shtool version -l c -d short version.cpp | sed -e 's;\.;_;g'` |
|
21 echo "+++ tagging sources as SCHUR_${V}" |
|
22 hg tag SCHUR_${V} |
|
23 } |
|
24 |
|
25 dist () { |
|
26 echo "+++ cleaning" |
|
27 rm -f schachuhr-*.tar.gz |
|
28 echo "+++ configuring" |
|
29 qmake |
|
30 echo "+++ building" |
|
31 make clean all -j4 |
|
32 echo "+++ cleaning" |
|
33 make distclean >/dev/null 2>&1 |
|
34 echo "+++ fixing" |
|
35 shtool fixperm -v . |
|
36 echo "Please find . -exec grep myusername {}" |
|
37 echo "+++ rolling" |
|
38 V=`shtool version -l c -d short version.cpp` |
|
39 shtool tarball -o schachuhr-${V}.tar.gz -d schachuhr-${V} \ |
|
40 -e '\.hg,\.hgignore,\.[ao]$,^\.,*.tar.gz,^#.*,.*~$,*.bak' \ |
|
41 -e 'release\.sh,schuhr_stub.cpp,schuhr_stub.h,schuhr_scrap' \ |
|
42 -c 'gzip --best' . |
|
43 ls -l schachuhr-${V}.tar.gz |
|
44 echo "+++ testing" |
|
45 gunzip <schachuhr-${V}.tar.gz | tar tvf - | head -10 |
|
46 echo "[...]" |
|
47 gunzip <schachuhr-${V}.tar.gz | tar tvf - | tail -10 |
|
48 } |
|
49 |
|
50 upload () { |
|
51 echo "+++ copying to ftp://ftp.europalab.com/pub/sfw/schachuhr/" |
|
52 V=`shtool version -l c -d short version.cpp` |
|
53 scp schachuhr-${V}.tar.gz user@dev.host.tld:/z/schuhr/source/ |
|
54 } |