X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Frelease-howto.txt;h=42acf8c792a8df5fa3c986fc7810d954c45ea6a6;hb=86cd3fdfbc22ca233a89c29a7d8dcd05492081de;hp=74344840c7ea2939dd41a0e51fae82e06ba8ef05;hpb=b3481ac94a3a4e21e480b1e9e80343964e1f5294;p=vlc diff --git a/doc/release-howto.txt b/doc/release-howto.txt index 74344840c7..42acf8c792 100644 --- a/doc/release-howto.txt +++ b/doc/release-howto.txt @@ -1,84 +1,95 @@ -[ 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 ... + * Tests: compilation, regression tests ... - * Changes on the svn repository - - update the version number everywhere it's needed - · configure.ac - · extras/MacOSX/vlc.pbprj/project.pbxproj - · extras/MacOSX/Resources/English.lproj/InfoPlist.string - - update the ChangeLog and NEWS files, as well as the Trac database - · LANG=C svn log -v -r '{YYYY-12-31}:{YYYY-01-01}' >! ChangeLog - · read all the commits and add important things to the NEWS file - · update the milestones info on https://trac.videolan.org/vlc - - Add a note about the matching contrib package in INSTALL.win32 + * Changes on the git repository + - Check that the version number everywhere it's needed + · configure.ac + · NEWS + - Update important things and add them to the NEWS file + - Close the milestone on Trac https://trac.videolan.org/vlc + - Update OpenGPG key embedded in include/vlc_update.h if needed + - Increase the libvlccore and libvlc revisions in src/Makefile.am + _if_and_only_if_ the ABI number has not been increased instead, in + which case the revision goes back to zero. * Commit + * "Tag" the release + git tag -a -m "VLC Release VERSION" + (Create an annotated tag, you can skip -a if you used -m) + git push origin * Tarballs (Use a clean tree !!!) - - Use 'make distcheck' to make sure all files are exported - correctly - - copy the tar.gz and tar.bz2 file on ftp.videolan.org in - /opt/ftp/pub/videolan/testing/vlc-X.X.X/ - - generate md5 hashes of these files + - Use 'make distcheck' to make sure all files are exported correctly + - copy the tar.xz file on ganesh.videolan.org + - generate SHA, MD5 hashes and OpenPGP signature of these files + (use sha*sum --binary, md5sum --binary, gpg -u VideoLAN\ Release --sign --detach --armor) + Use the sumandsign.sh script * Contribs - - Put a copy of the libraries or svn 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 - - * BeOS Packages - Information on building: http://developers.videolan.org/vlc/beos-compile.html - Build in the "buildbeos" chroot on altair. - # add the .zip files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/beos/ + - 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 - make the packages using the nightly builds configure/options/... - don't forget to test the installer and uninstaller (the first 0.8.4 uninstaller was broken ... - kind of suxxs) - add the .zip and .exe files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/win32/ + - configure using the extras/package/win32/configure.sh script + - copy the packages files on ganesh.videolan.org + - copy the vlc-2.0.4 and symbols-2.0.4 to balthazar for stacktraces - * OS X packages - At the moment, only FK can do them (so they can be compatible with OS X 10.2) - Later: on the G5 + * 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 - * Commit changes ... it never works the first time - - * "Tag" the release - svn cp svn://svn.videolan.org/vlc/trunk svn://svn.videolan.org/vlc/tag/X.X.X - or - svn mv svn://svn.videolan.org/vlc/branches/X.X.X svn://svn.videolan.org/vlc/tag/X.X.X - - * Move /opt/ftp/pub/videolan/testing/vlc-X.X.X to /opt/ftp/pub/videolan/vlc/X.X.X - - Update the "latest" symlink + * 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 * Update the website - - edit the /index.php /vlc/*.php pages + - edit the /index.php /vlc/*.php, include/os-specific.php files + - create a /vlc/release/X.X.X page - add a news item to news.msg - - * Announce on www.gnome.org - - click on "Get more software" - - click on "Edit an existing map entry" - - look for the 'vlc' package - - update the version number and other info and submit - - the change is instantaneaous - - * Announce on www.freshmeat.net (let sam do it) - - you need a freshmeat account - - go to http://www.freshmeat.net/projects/vlc/ - - click on the release's branch (ie Stable) - - chose "add release" in the dropdown menu - - fill out all the info and submit - - the update can take several hours - - * Announce on VersionTracker - - ask Meuuh - - * Announce email - - write something along the lines of previous releases - - post in videolan-announce (moderated), vlc et vlc-devel - - add a sticky thread in the "General VLC media player discussion" forum + - 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 -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/?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.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, 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 + 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