archive update
[git-tools-moved-to-github.git] / id-release
1 #!/bin/sh
2 # Copyright (c) 2011 IndexData ApS. http://indexdata.com
3 # Author: Wolfram Schneider
4 #
5 # id-release - a helper script to build a release & packaging for debian + redhat
6 #
7 # see http://twiki.indexdata.dk/cgi-bin/twiki/view/ID/IDSoftwareRelease
8
9 # die early
10 set -e
11
12 usage () {
13     echo "usage $0 version"
14     exit 1
15 }
16
17 ######################################################################
18 if [ -e "pom.xml" ]; then
19     java=true
20 else
21     java=false
22 fi
23
24 if [ `find . -name '*.pm' | wc -l` -gt 0 ]; then
25     perl=true
26 else
27     perl=false
28 fi
29
30 if [ `ls |egrep '\.spec$' | wc -l` -eq 0 ]; then
31     echo "No *.spec file found"
32     usage
33 else
34     spec=`ls |egrep '\.spec$' | head -1`
35     package=`basename $spec .spec`
36 fi
37
38 case $1 in
39   [0-9]* ) version=$1 ;;
40        * ) usage ;;
41 esac
42
43 # configure new version
44 perl -i.bak -npe "s,VERSION=.*,VERSION=$version," IDMETA
45
46 if $java; then
47     echo "set maven version to $version"
48     mvn versions:set -DnewVersion=$version > mvn-versions.log
49 fi
50
51 if $perl; then
52   echo "check perl version numbers"
53   find . -name '*.pm' -print0 | xargs -0 egrep -H '\$VERSION.*=.*[0-9]'
54 fi
55
56 # update debian version file
57 perl -i.bak -npe "\$. == 1 && s,\(.*?\),($version)," debian/changelog 
58
59 ######################################################################
60 echo ""
61 echo "# Please run now"
62 echo "git commit -a"
63 echo "git push"
64 echo "git tag v$version"
65 echo "git push origin tag v$version"
66
67 if $java; then
68     echo "mvn versions:set -DnewVersion=$version-SNAPSHOT" 
69 fi
70
71 ######################################################################
72 echo ""
73 echo "# On RedHat or centos, please run the commands"
74 echo "\$HOME/proj/git-tools/id-deb-build/mkdist.sh"
75 echo "sudo cp $package-$version.tar.gz /usr/src/redhat/SOURCES/"
76 echo "sudo rpmbuild -ba $spec"
77 echo "\$HOME/proj/git-tools/id-rpm-build/upload-rpms.sh $spec"
78 echo ""
79 echo "# on kebab run: sudo su; cd \$HOME/proj/git-tools/update-archive; update-yum-archive.sh"
80
81
82 ######################################################################
83 echo ""
84 echo "# On debian or ubuntu, please run the commands"
85 echo "sudo rm -rf deb-src"
86 echo "\$HOME/proj/git-tools/id-deb-build/mkdist.sh"
87 echo "\$HOME/proj/git-tools/id-deb-build/id-mk-deb-src.sh"
88 echo "\$HOME/proj/git-tools/id-deb-build/id-pbuild.sh"
89 echo "\$HOME/proj/git-tools/id-deb-build/id-pbuild.sh --upload"
90 echo ""
91 echo "# on kebab run: sudo su; cd \$HOME/proj/git-tools/update-archive; update-archive.sh"
92 echo ""
93
94