release.txt 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. = Release checklist =
  2. Source release:
  3. - Update OP_LT_* API versioning in configure.ac.
  4. - Check for uncommitted changes to master.
  5. - Tag the release commit with 'git tag -s vN.M'.
  6. - Include release notes in the tag annotation.
  7. - Verify 'make distcheck' produces a tarball with
  8. the desired name.
  9. - Push tag to public repo.
  10. - Upload source packge 'opusfile-${version}.tar.gz'
  11. to website and verify file permissions.
  12. - Update checksum files on website.
  13. - Update links on <https://www.opus-codec.org/downloads/>.
  14. - Add a copy of the documentation to <https://www.opus-codec.org/docs/>
  15. and update the links.
  16. Releases are commited to https://svn.xiph.org/releases/opus/
  17. which propagates to downloads.xiph.org, and copied manually
  18. to https://archive.mozilla.org/pub/opus/
  19. Win32 binaries:
  20. - Assuming the mingw cross toolchain:
  21. - run `make -C mingw`
  22. - Downloads versions of libogg, opus, openssl.
  23. - Compiles them.
  24. - Compiles static opusfile and examples against the built deps.
  25. - Compile dynamic opusfile with:
  26. - ./configure --host=i686-w64-mingw32 --prefix=/path/to/builddir/mingw \
  27. PKG_CONFIG_PATH=/path/to/builddir/mingw/lib/pkgconfig
  28. - make && make check && make -C doc/latex
  29. - Add api docs to opus-codec.org
  30. - mkdir opusfile-${version}-win32
  31. - Copy AUTHORS COPYING README.txt include/opusfile.h to the release dir.
  32. - Merge changes between README.txt and the version in the last
  33. binary release. E.g. it's good to include versions of the dependencies,
  34. release notes, etc.
  35. - Convert README.txt to DOS line endings.
  36. - Copy .libs/libopusfile-0.dll to the release dir.
  37. - Copy .libs/libopusfile.a to the release dir.
  38. - Copy .libs/libopusfile.dll.a to the release dir. (May not be needed?)
  39. - Copy ./lib/libopusurl-0.dll, etc. to the release dir.
  40. - Copy ./bin/*.dll to the release dir for dependencies.
  41. - Copy any other dependent dlls, e.g. on Fedora 23 I needed to copy
  42. /usr/i686-w64-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll
  43. /usr/i686-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll
  44. - Copy doc/latex/refman.pdf to opusfile-${version}-win32/opusfile-${version}.pdf
  45. - Copy examples/.libs/*.exe to the release dir.
  46. - Strip *.dll *.a *.exe in the release dir.
  47. - In the release dir, run:
  48. sha256sum * > SHA256SUMS.txt
  49. gpg --detach-sign --armor SHA256SUMS.txt
  50. - In the parent directory, create the archive:
  51. zip -r opusfile-${version}-win32.zip opusfile-${version}-win32/*
  52. - Copy the archive to a clean system and verify the examples work
  53. to make sure you've included all the necessary libraries.
  54. - Upload the archive zipfile to websites.
  55. - Verify file permissions and that it's available at the expected
  56. URL.
  57. - Update links on <http://www.opus-codec.org/downloads/>.
  58. - Add doc/latex/refman as docs/opusfile_api-${version}.pdf on opus-codec.org
  59. - Add doc/html as docs/opusfile_api-${version} on opus-codec.org
  60. Binary releases are copied manually to s3 to appear at
  61. https://archive.mozilla.org/pub/mozilla.org/opus/win32/