release.txt 2.89 KB
Newer Older
Ralph Giles's avatar
Ralph Giles committed
1 2 3 4 5 6 7 8 9 10 11 12 13
= 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.
- Upload source packge 'opusfile-${version}.tar.gz'
  to website and verify file permissions.
14
- Update checksum files on website.
15
- Update links on <http://www.opus-codec.org/downloads/>.
16 17
- Add a copy of the documentation to <http://www.opus-codec.org/docs/>
  and update the links.
18 19 20 21

Releases are commited to https://svn.xiph.org/releases/opus/
which propagates to downloads.xiph.org, and copied manually
to https://ftp.mozilla.org/pub/mozilla.org/opus/
Ralph Giles's avatar
Ralph Giles committed
22 23 24 25 26 27 28 29 30 31 32

Win32 binaries:

- Assuming the mingw cross toolchain:
- Checkout/download latest or other appropriate
  versions of libogg, opus, and any other supported
  dependencies.
- Compile them with:
    ./configure --host=i686-w64-mingw32 --prefix=/path/to/builddir
    make && make check && make install
  or similar. Wine is required for 'make check' to complete.
Ralph Giles's avatar
Ralph Giles committed
33 34
- Compile openssl with:
    ./Configure shared mingw64 no-asm --prefix=/path/to/builddir \
Ralph Giles's avatar
Ralph Giles committed
35
      --cross-compile-prefix=i686-w64-mingw32-
Ralph Giles's avatar
Ralph Giles committed
36
    make depend && make -j8 && make install
Ralph Giles's avatar
Ralph Giles committed
37 38 39 40 41 42 43 44 45 46 47 48 49
- Compile opusfile with:
    ./configure --host=i686-w64-mingw32 --prefix=/path/to/builddir \
        PKG_CONFIG_PATH=/path/to/builddir/lib/pkgconfig
    make && make check && make -C doc/latex
- mkdir opusfile-${version}-win32
- Copy AUTHORS COPYING README.txt include/opusfile.h to the release dir.
- Merge changes between README.txt and the version in the last
  binary release. E.g. it's good to include versions of the dependencies,
  release notes, etc.
- Convert README.txt to DOS line endings.
- 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
50
- Copy ./lib/libopusurl-0.dll, etc. to the release dir.
Ralph Giles's avatar
Ralph Giles committed
51 52 53
- Copy libogg/src/.libs/libogg-0.dll to the release dir.
- Copy opus/.libs/libopus-0.dll to the release dir.
- Copy any other dependent dlls
Ralph Giles's avatar
Ralph Giles committed
54
- Copy doc/latex/refman.pdf to opusfile-${version}-win32/opusfile-${version}.pdf
Ralph Giles's avatar
Ralph Giles committed
55 56 57 58
- Copy examples/.libs/*.exe to the release dir.
- Strip *.dll *.a *.exe in the release dir.
- In the release dir, run:
    sha1sum * > SHA1SUMS.txt
Ralph Giles's avatar
Ralph Giles committed
59
    gpg --detach-sign --armor SHA1SUMS.txt
Ralph Giles's avatar
Ralph Giles committed
60 61 62 63 64 65 66
- 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.
67
- Update links on <http://www.opus-codec.org/downloads/>.
68 69 70

Binary releases are copied manually to
ftp.mozilla.org:/pub/mozilla.org/opus/win32/