Libav/ReleaseHowto
Jump to navigation
Jump to search
LibavReleaseHowto
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 http://libav.org
Roll, sign and publish tarballs
- For 0.6 and later, update the VERSION file:
echo '$VERSION' > VERSION
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)
cp -v RELEASE VERSION
- 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 libav.org:
scp /tmp/libav-$(cat VERSION).* libav.org:releases
Publish the release
- push the created, *annotated* tags
- Publish the prepared News entry for http://libav.org
- Enjoy!