Skip to content
springmeyer edited this page Apr 11, 2012 · 15 revisions

Steps for Mapnik Releases

Prepare

  • Ensure the CHANGELOG is up to date.

  • Set release date after checkins with development team

  • Announce release plans to group list

  • Ensure milestone is closed out

  • Ensure all tests pass (make test)

Bundled fonts and scons

  • Consider updating Scons-local to latest release.
    The last SCons update was 2.1.0.alpha

      wget http://prdownloads.sourceforge.net/scons/scons-local-2.1.0.alpha.20101125.zip
      rm -rf scons
      unzip -o scons-local-2.1.0.alpha.20101125.zip -d scons/
      rm scons-local-2.1.0.alpha.20101125.zip
    
  • Consider updating DeJaVu Fonts:
    The last version updated was 2.33

      cd fonts
      svn rm dejavu-fonts-ttf-
      wget http://sourceforge.net/projects/dejavu/files/dejavu/2.33/dejavu-fonts-ttf-2.33.tar.bz2
      tar xvf dejavu-fonts-ttf-2.33.tar.bz2
      svn add dejavu-fonts-ttf-2.33
    
  • Check for new unifont release

Pre-tag updates

MAPNIK_VERSION=`mapnik-config --version`
git commit -a -m "setting up for mapnik v${MAPNIK_VERSION} release" 
git push
  • Update CHANGELOG with the git hash of latest commit using the output of:
git rev-parse --verify HEAD
  • Then, push change:
git ci -a -m "update CHANGELOG"
git push

Tagging

MAPNIK_VERSION=`mapnik-config --version`
git tag "v${MAPNIK_VERSION}" -m "tagging v${MAPNIK_VERSION}"
git push --tags
  • Create a clean tarball:
cd /tmp
TARBALL_DIR="mapnik-v`mapnik-config --version`"
git clone --depth=1 \
  [email protected]:mapnik/mapnik.git $TARBALL_DIR
cd $TARBALL_DIR
git checkout "v`mapnik-config --version`"
cd ../
rm -rf $TARBALL_DIR/.git
rm -rf $TARBALL_DIR/.gitignore
tar cjf $TARBALL_DIR.tar.bz2 $TARBALL_DIR/

Then upload that tarball to the downloads page.

Post tag updates

  • Update master branches entries in CHANGELOG from the new release (if relevant).

Now bump versions again:

  • edit version.hpp again, incrementing version # and changing MAPNIK_VERSION_IS_RELEASE back to 0 to set up for the next release
  • update the abi_fallback in SConstruct
./configure
make install
MAPNIK_VERSION=`mapnik-config --version`
git ci include/mapnik/version.hpp SConstruct -m "now working on mapnik v${MAPNIK_VERSION}"
git push
  • Generate Python API docs:
sudo pip install epydoc
cd utils/epydoc_config
./build_epydoc.sh
  • Then upload these docs - TODO (where should they go?)

Packaging

Web

  • New blog post at mapnik.org updated release links

Wiki Post-Release

Announce

Clone this wiki locally