-[ Note: this howto is probably useful to core vlc developers only ]
+Release HOWTO
+-------------
- Release HOWTO
- -------------
+[ Note: this howto is probably useful to core vlc developers only ]
* Tests: compilation, regression tests ...
which case the revision goes back to zero.
* Commit
- * Tag the commit
+ * "Tag" the release
+ git tag -a -m "VLC Release VERSION" <VERSION>
+ (Create an annotated tag, you can skip -a if you used -m)
+ git push origin <VERSION>
* Tarballs (Use a clean tree !!!)
- Use 'make distcheck' to make sure all files are exported correctly
- - copy the tar.xz file on altair.videolan.org
- - copy the binaries files on altair.videolan.org, if possible
- - generate SHA, MD5 hashes and OpenPGP signature of these files
- (use sha*sum --binary, md5sum --binary, gpg --sign --detach --armor)
- Use the ~/bin/sumandsign.sh script
+ - copy the tar.xz file on ganesh.videolan.org
+ - generate SHA, MD5 hashes and OpenPGP signature of these files :
+ for file in vlc*; do
+ for sum in md5 sha1 sha256; do
+ ${sum}sum --binary $file > $file.$sum
+ done
+ gpg -sb -u VideoLAN\ Release --armor --force-v3-sigs $file
+ done
* Contribs
- - Put a copy of the libraries or git snapshot in vlc-X.X.X/contrib
- - Put the relevant win32 contrib package
- - Update developers.v.o/vlc and www.v.o/vlc/download-sources.html
+ - Put a copy of the libraries or git snapshot in ftp://ftp.videolan.org/pub/contrib/
+ - Put the relevant win32 and Mac OS contrib package
+ - Update s.v.o/vlc and www.v.o/vlc/download-sources.html
* Win32 Packages
- configure using the extras/package/win32/configure.sh script
- - move to altair and generate md5 plus SHA1 hashes and gpg signature of these files
- (c.f. Tarballs)
-
- * OS X packages
- - configure using ./configure --enable-macosx
- - compile the source on both a PowerPC and an Intel-based Mac. Don't try to
- cross-compile for either platform. Don't forget the framework.
- - use extras/package/macosx/ub.sh to create a Universal Binary.
- - move to altair and generate md5 plus SHA1 hashes and gpg signature of these files
- (c.f. Tarballs)
+ - copy the packages files on ganesh.videolan.org
+ - copy the vlc-2.0.4 and symbols-2.0.4 to balthazar for stacktraces
- * Commit changes ... it never works the first time
+ * Mac OS X packages
+ - configure using the extras/package/macosx/configure.sh script
+ - use extras/package/macosx/codesign.sh with options and key to sign it.
+ - copy the package to ganesh.videolan.org
- * "Tag" the release
- git tag -a -m "VLC Release VERSION" <VERSION>
- (Create an annotated tag, you can skip -a if you used -m)
- git push origin <VERSION>
-
- * Move the signed files from altair to ganesh, on /opt/ftp/pub/videolan/vlc/X.X.X
+ * Sign all the files and move the signed files on /opt/ftp/pub/videolan/vlc/X.X.X
- At first block access to this directory by http or ftp. Only authorize rsync.
This is to avoid leak as some journalists and forums seem to watch the ftp.
- Update the "last" symlink
- create a /vlc/release/X.X.X page
- add a news item to news.msg
- update the front page OS dependant screenshots if the interface changed.
+ - update the md5
* "Check for updates" functionality
- edit update.videolan.org/vlc/status
- - gpg -t --sign --detach --armor
-
- * Mirrors (if necessary)
- - Forwarn the mirror admins
- - Update the list of files for the mirror check
- (/var/www/local/mirrors.v.o/files)
- - Disable mirrors which haven't synced yet and possibly ganesh if there are
- enough other mirrors (see http://mirrors.videolan.org/release.html)
+ - gpg -u VideoLAN\ Release -t --sign --detach --armor
+ - for i in *asc;do gpg --verify $i || echo $i;done
+
+ * Mirrors
+ - Forwarn the mirror admins (optional for any minor release)
+ - Go to https://get.videolan.org/<path-to-the-file>?mirrorlist
+ - Ensures there is enough mirrors able to serve the file in each region
+ or just wait few more hours before doing the release.
+ Suggested number of mirrors:
+ - > 70% for a minor release
+ - > 80% for a major release
+ - > 80% for any auto-update
+ - Keep an eye on https://get.videolan.org/?mirrorstats during the release
* Update the wiki
- edit http://wiki.videolan.org/Template:VLC:latest_version
- * Announce on www.freshmeat.net (let jb or sam do it)
- - you need a freshmeat account
- - go to http://www.freshmeat.net/projects/vlc/
- - chose "Submit a release" in the right menu
- - fill out all the info and submit
- - the update can take several hours
-
- * Announce on VersionTracker
- - ask Meuuh
+ * Announce on www.freecode.com (let jb or sam do it, if you lack the account)
+ - go to https://freecode.com/projects/vlc/
+ - chose "Submit a release" in the right menu, in "Administration"
+ - Do the steps and wait (the update can take several hours)
- * Announce on twitter and facebook...
- Unfortunately, those are more followed than the other means
+ * Announce on Twitter, Facebook and G+
+ Unfortunately, those are more followed than the all other mediums combined
* Announce email and forum topic
- - write something along the lines of previous releases
- - post in videolan-announce (moderated), vlc et vlc-devel
+ - Write something along the lines of previous releases
+ - Post in videolan-announce (moderated), vlc et vlc-devel
You are advised to add the author list for this version using
'git shortlog -s PREVIOUS_VERSION..VERSION'
And to add git diff --stat PREVIOUS_VERSION..VERSION if it's relevant.
You can play a bit with git to show the piece of information that may be
interesting.
- - add a sticky thread in the "General VLC media player discussion" forum
+ - Add a sticky thread in the "General VLC media player discussion" forum