b65e15a0a1a66a1518ce093910a26ded828e6212
[vlc.git] / doc / release-howto.txt
1 [ Note: this howto is probably useful to core vlc developers only ]
2
3   Release HOWTO
4   -------------
5
6  * Tests : compilation, regression tests ...
7
8  * Changes on the git repository
9    - update the version number everywhere it's needed
10      · configure.ac
11      · extras/MacOSX/vlc.pbprj/project.pbxproj
12      · extras/MacOSX/Resources/English.lproj/InfoPlist.string
13      · read all the commits and add important things to the NEWS file
14      · update the milestones info on https://trac.videolan.org/vlc
15    - Add a note about the matching contrib package in INSTALL.win32
16    - Update OpenGPG key embedded in include/vlc_update.h if needed
17    - Increase the libvlccore and libvlc revisions in src/Makefile.am
18      _if_and_only_if_ the ABI number has not been increased instead, in
19      which case the revision goes back to zero.
20
21  * Commit
22
23  * Tarballs (Use a clean tree !!!)
24   - Use 'make distcheck' to make sure all files are exported
25     correctly
26   - copy the tar.bz2 file on ftp.videolan.org in
27     /opt/ftp/pub/videolan/testing/vlc-X.X.X/
28   - generate SHA1 hashes and gpg signature of these files
29     (use gpg --sign --detach --armor)
30
31  * Contribs
32   - Put a copy of the libraries or git snapshot in vlc-X.X.X/contrib
33   - Put the relevant win32 contrib package
34   - Update developers.v.o/vlc and www.v.o/vlc/download-sources.html
35
36  * BeOS Packages
37     Information on building: http://developers.videolan.org/vlc/beos-compile.html
38     Configure with --enable-update-check
39     Build in the "buildbeos" chroot on altair.
40     # add the .zip files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/beos/
41    generate md5 hashes and gpg signature of these files
42    (use gpg --sign --detach --armor)
43
44  * Win32 Packages
45     make the packages using the nightly builds configure/options/... , don't forget --enable-update-check
46     don't forget to test the installer and uninstaller (the first 0.8.4 uninstaller was broken ...
47     kind of suxxs)
48     add the .zip and .exe files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/win32/
49    generate md5 hashes and gpg signature of these files
50    (use gpg --sign --detach --armor)
51
52  * OS X packages
53    configure with --enable-update-check
54    generate md5 hashes and gpg signature of these files
55    (use gpg --sign --detach --armor)
56
57  * Commit changes ... it never works the first time
58
59  * "Tag" the release
60
61     git tag -a -m "VLC Release VERSION" <VERSION>
62     (Create an annotated tag, you can skip -a if you used -m)
63     git push origin <VERSION>
64
65     (You are advised to play with it on the sandrox.git if you feel unconfortable)
66
67  * Move /opt/ftp/pub/videolan/testing/vlc-X.X.X to /opt/ftp/pub/videolan/vlc/X.X.X
68   - At first block access to this directory by http or ftp. Only authorize rsync.
69     This is to avoid leak as some journalist and forum seems to watch the ftp.
70   - Update the "latest" symlink
71
72  * Update the website
73   - edit the /index.php /vlc/*.php pages
74   - add a news item to news.msg
75
76  * "Check for updates" functionality
77   - add /opt/ftp/pub/videolan/vlc/X.X.X/vlc-X.X.X-announce
78   - edit update.videolan.org/vlc/status.xml
79
80  * Mirrors
81   - Forwarn the mirror admins
82   - Update the list of files for the mirror check (/var/www/local/mirrors.v.o/files)
83   - Disable mirrors which haven't replicated yet and possibly ganesh if enough
84     other mirrors
85
86  * Update wiki
87   - edit http://wiki.videolan.org/Template:VLC:latest_version
88
89  * Announce on www.gnome.org
90   - click on "Get more software"
91   - click on "Edit an existing map entry"
92   - look for the 'vlc' package
93   - update the version number and other info and submit
94   - the change is instantaneaous
95
96  * Announce on www.freshmeat.net (let sam do it)
97   - you need a freshmeat account
98   - go to http://www.freshmeat.net/projects/vlc/
99   - click on the release's branch (ie Stable)
100   - chose "add release" in the dropdown menu
101   - fill out all the info and submit
102   - the update can take several hours
103
104  * Announce on VersionTracker
105   - ask Meuuh
106
107  * Announce email
108   - write something along the lines of previous releases
109   - post in videolan-announce (moderated), vlc et vlc-devel
110     You are advised to add the author list for this version 'git shortlog -s PREVIOUS_VERSION..VERSION'
111     And to add git diff --stat PREVIOUS_VERSION..VERSION if it's relevant.
112     You can play a bit with git to show the piece of information that may be interesting.
113   - add a sticky thread in the "General VLC media player discussion" forum
114