Libav/ReleaseHowto: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(Replace backtics by superior $() syntax.)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
== LibavReleaseHowto ==  
== LibavReleaseHowto ==  


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


=== Checklist for release preparation ===
=== Checklist for release preparation ===
Line 17: Line 17:
echo '$VERSION' > VERSION<br/>
echo '$VERSION' > VERSION<br/>
git add VERSION<br/>
git add VERSION<br/>
git commit -m"Update Version identification for `cat VERSION`"
git commit -m"Update Version identification for $(cat VERSION)"
</code>
</code>


Line 50: Line 50:


* Install tarballs to libav.org:  
* Install tarballs to libav.org:  
** <code>scp /tmp/libav-`cat VERSION`.* libav.org:releases</code>
** <code>scp /tmp/libav-$(cat VERSION).* libav.org:releases</code>


=== Publish the release ===
=== Publish the release ===

Latest revision as of 01:44, 8 March 2012

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!