Making a tarball

This section describes how to create an official packaged version of plastimatch.

Step 1: Preliminary testing

  1. Download tarball from gitlab:

  2. Unpack and test tarball on linux (don't skip this step)

  3. Unpack and test tarball on windows (don't skip this step)

  4. Unpack and test tarball on mac (don't skip this step)

  5. Test parallel regression tests (don't skip this step):

    cd ~/build/plastimatch
    ctest -j 16

Step 2: Marking the version

  1. Update CHANGELOG; Bump version number in CHANGELOG

  2. Bump version number in CMakeLists

  3. Bump version number in doc/sphinx/

  4. Also check copyright year range in doc/sphinx/

  5. Bump version number in doc/sphinx/plastimatch.rst

  6. Regenerate man pages:

    sphinx-build -b man -d ~/shared/web-plastimatch/.doctrees  ~/work/plastimatch/doc/sphinx ~/work/plastimatch/doc/man
  7. Push above changes to remote and tag version:

    export V=1.8.0
    git commit -am "Version ${V}"
    git push origin master
    git tag -a "${V}" -m "Version ${V}"
    git push origin --tags
  8. Edit changelog on gitlab site.

Step 3: Making the final version

  1. Download tarball from gitlab.

  2. Repackage the tarball from hash-based to version-based.:

    tar xvf plastimatch-v1.7.0.tar.gz
    rm plastimatch-v1.7.0.tar.gz
    mv plastimatch-v1.7.0* plastimatch-1.7.0
    tar cjvf plastimatch-1.7.0.tar.bz2 plastimatch-1.7.0
    rm -rf plastimatch-1.7.0

    The above procedure should no longer be needed, as gitlab no longer gives hash-based version for tagged download. Also using "1.7.4" instead of "v1.7.4" for the tag should solve the problem of directory name. Test this for 1.7.4, and if all is working well, remove this step from the procedure.

  3. Unpack and test tarball on linux (don't skip this step).

  4. Unpack and test tarball on windows (don't skip this step).

  5. Upload to sourceforge:

    cd /home/pfs/project/plastimatch/Source
    put plastimatch-1.6.4.tar.bz2