#!/bin/bash # # A script for creating release packages. The release packages are create in the home directory. # # Test cppcheck on itself. # cppcheck -q -j2 --inconclusive --enable=all lib # # Make sure "cppcheck --errorlist" works. For example with: # make test # cppcheck --errorlist > errlist.xml # xmllint --noout errlist.xml # cppcheck --xml-version=2 --errorlist > errlist.xml # xmllint --noout errlist.xml # # Update AUTHORS using output from: # git log --format='%aN' | sort -u # # Update version numbers in: # sed -i "s/1.[0-9][0-9].99/1.62/" cli/main.cpp # sed -i "s/1,[0-9][0-9],99,0/1,62,0,0/" lib/version.h # sed -i "s/1.[0-9][0-9] dev/1.62/" lib/version.h # sed -i "s/1.[0-9][0-9] dev/1.62/" man/manual.docbook # sed -i "s/1.[0-9][0-9] dev/1.62/" win_installer/productInfo.wxi # sed -i "s/1.[0-9][0-9].99/1.62/" win_installer/productInfo.wxi # Verify: # grep '\.99' */*.[ch]* # grep '[0-9][0-9] dev' */*.[ch]* # git commit -a -m "1.43: Set versions" # # Update the Makefile: # make dmake # ./dmake --release # git commit -a -m "1.43: Updated Makefile" # # Build and test the windows installer # # Tag: # git tag 1.43 # git push --tags # # Create release: # ./createrelease 1.43 # # Restore the Makefile: # ./dmake # git commit -a -m "Makefile: Set debug mode" # # Generate the manual.pdf, manual.html and version.txt # make # ./cppcheck --version > version.txt # docbook2pdf man/manual.docbook # xsltproc -o manual.html /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl man/manual.docbook # # Upload manual.pdf , manual.html and version.txt... # sftp danielmarjamaki,cppcheck@web.sourceforge.net # # save "cppcheck --doc" output on wiki # # compile new democlient: # ssh -t danielmarjamaki,cppcheck@shell.sourceforge.net # ./build.sh 1.43 # Tag to use tag=$1 # Name of release releasename=cppcheck-$tag # Create archives.. git archive --format=tar --prefix=$releasename/ $tag | gzip > ~/$releasename.tar.gz git archive --format=tar --prefix=$releasename/ $tag | bzip2 > ~/$releasename.tar.bz2 git archive --format=zip -9 --prefix=$releasename/ $tag > ~/$releasename.zip scp ../$releasename.* danielmarjamaki,cppcheck@frs.sourceforge.net:/home/frs/project/c/cp/cppcheck/cppcheck/$tag/