Difference between revisions of "Libav/ReleaseHowto"

From MultimediaWiki
Jump to navigation Jump to search
m (LibavReleaseHowto)
(Replace backtics by superior $() syntax.)
 
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!