#!/bin/sh
+# Copyright (c) 2011 IndexData ApS. http://indexdata.com
+# Author: Wolfram Schneider
+#
+# id-release - a helper script to build a release & packaging for debian + redhat
+#
+# see http://twiki.indexdata.dk/cgi-bin/twiki/view/ID/IDSoftwareRelease
+
+# die early
+set -e
usage () {
- echo "usage $0 version"
+ echo >&2 "usage $0 version"
+ echo >&2 "$@"
exit 1
}
+######################################################################
+case $1 in
+ [0-9]* ) version=$1 ;;
+ * ) usage ;;
+esac
+
+echo "Did you updated the news log file?"
+for file in Changes News NEWS
+do
+ if [ -e $file ]; then
+ ls -l $file
+ fi
+done
+echo ""
+
if [ -e "pom.xml" ]; then
java=true
else
fi
if [ `ls |egrep '\.spec$' | wc -l` -eq 0 ]; then
- echo "No *.spec file found"
- usage
+ usage "No *.spec file found"
else
- package=`ls |egrep '\.spec$' | head -1`
+ spec=`ls |egrep '\.spec$' | head -1`
+ package=`perl -ne 's/\s*$//; print if s/^NAME=//' IDMETA`
+ if [ -z "$package" ]; then
+ package=`basename $spec .spec`
+ fi
fi
-case $1 in
- [0-9]* ) version=$1 ;;
- * ) usage ;;
-esac
-
# configure new version
perl -i.bak -npe "s,VERSION=.*,VERSION=$version," IDMETA
if $perl; then
echo "check perl version numbers"
- find . -name '*.pm' -print0 | xargs -0 egrep -H '\$VERSION.*=.*[0-9]'
+ find . -name '*.pm' -print0 | xargs -0 egrep -H '\$VERSION.*=.*[0-9]' | egrep -v '^\./deb-src/'
fi
# update debian version file
perl -i.bak -npe "\$. == 1 && s,\(.*?\),($version)," debian/changelog
+# update redhat version file
+perl -i.bak -npe "s,^Version: \d+.*,Version: $version," $spec
+
+
+
######################################################################
echo ""
-echo "# Please run now"
+echo "# Please commit the version updates now"
echo "git commit -a"
+echo ""
+echo "# Please run now"
echo "git push"
echo "git tag v$version"
echo "git push origin tag v$version"
echo "mvn versions:set -DnewVersion=$version-SNAPSHOT"
fi
+######################################################################
+echo ""
+echo "# On RedHat or centos, please run the commands"
+echo "sudo date # ask for password early"
+echo "git pull"
+echo "\$HOME/proj/git-tools/id-deb-build/mkdist.sh"
+echo "sudo cp $package-$version.tar.gz /usr/src/redhat/SOURCES/"
+echo "sudo rpmbuild -ba $spec"
+echo "# if successfully, scp the package to ftp.indexdata.dk (kebab)"
+echo "\$HOME/proj/git-tools/id-rpm-build/upload-rpms.sh $spec"
+echo ""
+echo "# on kebab run: sudo su; cd $HOME/proj/git-tools/update-archive; ./update-yum-archive.sh"
+
+
+######################################################################
+echo ""
+echo "# On debian or ubuntu, please run the commands"
+echo "sudo rm -rf deb-src"
+echo "git pull"
+echo "\$HOME/proj/git-tools/id-deb-build/mkdist.sh"
+echo "\$HOME/proj/git-tools/id-deb-build/id-mk-deb-src.sh"
+echo "sudo \$HOME/proj/git-tools/id-deb-build/id-pbuild.sh"
+echo "# if successfully, scp the package to ftp.indexdata.dk (kebab)"
+echo "\$HOME/proj/git-tools/id-deb-build/id-pbuild.sh --upload"
+echo ""
+echo "# on kebab run: sudo su; cd $HOME/proj/git-tools/update-archive; ./update-archive.sh"
+echo ""
+
+