From MultimediaWiki
Revision as of 01:44, 8 March 2012 by DonDiego (talk | contribs) (Replace backtics by superior $() syntax.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


These are more or less personal notes how Libav releases and point release tarballs are rolled.

Checklist for release preparation

  • If necessary, create a new release tracking bug
  • (constantly) Backport interesting patches from trunk
  • check the bugzilla release tracking bug
  • update Changelog, use 'git log --oneline' for inspiration
  • Write/Review News entry for

Roll, sign and publish tarballs

  • For 0.6 and later, update the VERSION file:

git add VERSION
git commit -m"Update Version identification for $(cat VERSION)"

  • push the changelog to repository
    • git push ...
  • create an annotated tag:
    • git tag -a v$VERSION -m"$VERSION Release"
  • For 0.7 and later, create a VERSION file from the RELEASE file (don't commit/push this)
  • Create the release tarball
    • tar czv --xform="s,^./,libav-$VERSION/," --exclude=.git -f /tmp/libav-$VERSION.tar.gz .
  • Testcompile this tarball
  • Create the xz variant:
    • zcat /tmp/libav-$VERSION.tar.gz | xz > /tmp/libav-$VERSION.tar.xz
  • GPG signatures:

gpg -ab /tmp/libav-$VERSION.tar.gz
gpg -ab /tmp/libav-$VERSION.tar.xz

  • Copy release notes and changelog:

cp -v Changelog /tmp/libav-$VERSION.changelog
cp -v doc/RELEASE_NOTES /tmp/libav-$VERSION.release

  • Install tarballs to
    • scp /tmp/libav-$(cat VERSION).*

Publish the release

  • push the created, *annotated* tags
  • Publish the prepared News entry for
  • Enjoy!