release.txt 3.03 KB
Newer Older
Ralph Giles's avatar
Ralph Giles committed
1 2 3 4 5 6 7 8 9 10 11
= Release checklist =

Source release:

- Update OP_LT_* API versioning in configure.ac.
- Check for uncommitted changes to master.
- Tag the release commit with 'git tag -s vN.M'.
 - Include release notes in the tag annotation.
- Verify 'make distcheck' produces a tarball with
  the desired name.
- Push tag to public repo.
Ralph Giles's avatar
Ralph Giles committed
12
- Upload source package 'opusfile-${version}.tar.gz'
Ralph Giles's avatar
Ralph Giles committed
13
  to website and verify file permissions.
14
- Update checksum files on website.
15 16
- Update links on <https://www.opus-codec.org/downloads/>.
- Add a copy of the documentation to <https://www.opus-codec.org/docs/>
17
  and update the links.
18 19 20

Releases are commited to https://svn.xiph.org/releases/opus/
which propagates to downloads.xiph.org, and copied manually
21
to https://archive.mozilla.org/pub/opus/
Ralph Giles's avatar
Ralph Giles committed
22

23 24 25
Release packages should also be manually attached to the corresponding
tag on the github mirror https://github.com/xiph/opusfile/releases

Ralph Giles's avatar
Ralph Giles committed
26 27 28
Win32 binaries:

- Assuming the mingw cross toolchain:
29
- run `make -C mingw`
30 31
  - Downloads versions of libogg, opus, openssl.
  - Compiles them.
Ralph Giles's avatar
Ralph Giles committed
32
  - Compiles static opusfile and examples against the built deps.
Ralph Giles's avatar
Ralph Giles committed
33
- Compile dynamic opusfile with:
Ralph Giles's avatar
Ralph Giles committed
34 35 36
  - ./configure --host=i686-w64-mingw32 --prefix=/path/to/builddir/mingw \
        PKG_CONFIG_PATH=/path/to/builddir/mingw/lib/pkgconfig
  - make && make check && make -C doc/latex
Ralph Giles's avatar
Ralph Giles committed
37
- Add api docs to opus-codec.org.
Ralph Giles's avatar
Ralph Giles committed
38
- mkdir opusfile-${version}-win32
39 40
- Copy AUTHORS COPYING README.md include/opusfile.h to the release dir.
- Merge changes between README.md and the version in the last
Ralph Giles's avatar
Ralph Giles committed
41 42
  binary release. E.g. it's good to include versions of the dependencies,
  release notes, etc.
43
- Convert README.md to DOS line endings.
Ralph Giles's avatar
Ralph Giles committed
44 45 46
- Copy .libs/libopusfile-0.dll to the release dir.
- Copy .libs/libopusfile.a to the release dir.
- Copy .libs/libopusfile.dll.a to the release dir. (May not be needed?)
Ralph Giles's avatar
Ralph Giles committed
47
- Copy ./lib/libopusurl-0.dll, etc. to the release dir.
Ralph Giles's avatar
Ralph Giles committed
48
- Copy ./bin/*.dll to the release dir for dependencies.
49
- Copy any other dependent dlls, e.g. on Fedora 23 I needed to copy
50
    /usr/i686-w64-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll
51
    /usr/i686-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll
Ralph Giles's avatar
Ralph Giles committed
52
- Copy doc/latex/refman.pdf to opusfile-${version}-win32/opusfile-${version}.pdf
Ralph Giles's avatar
Ralph Giles committed
53 54 55
- Copy examples/.libs/*.exe to the release dir.
- Strip *.dll *.a *.exe in the release dir.
- In the release dir, run:
Ralph Giles's avatar
Ralph Giles committed
56 57
    sha256sum * > SHA256SUMS.txt
    gpg --detach-sign --armor SHA256SUMS.txt
Ralph Giles's avatar
Ralph Giles committed
58 59 60 61 62 63 64
- In the parent directory, create the archive:
    zip -r opusfile-${version}-win32.zip opusfile-${version}-win32/*
- Copy the archive to a clean system and verify the examples work
  to make sure you've included all the necessary libraries.
- Upload the archive zipfile to websites.
- Verify file permissions and that it's available at the expected
  URL.
65
- Update links on <http://www.opus-codec.org/downloads/>.
66 67
- Add doc/latex/refman as docs/opusfile_api-${version}.pdf on opus-codec.org
- Add doc/html as docs/opusfile_api-${version} on opus-codec.org
68

69 70
Binary releases are copied manually to s3 to appear at
https://archive.mozilla.org/pub/mozilla.org/opus/win32/