don't duplicate sha1 hashes with strdup() (not \0 terminated)
[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 svn 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    - update the ChangeLog and NEWS files, as well as the Trac database
14      · LANG=C svn log -v -r '{YYYY-12-31}:{YYYY-01-01}' >! ChangeLog
15      · read all the commits and add important things to the NEWS file
16      · update the milestones info on https://trac.videolan.org/vlc
17    - Add a note about the matching contrib package in INSTALL.win32
18    - Make sure that the gpg key embedded in include/vlc_update.h is the last one
19
20  * Commit
21
22  * Tarballs (Use a clean tree !!!)
23   - Use 'make distcheck' to make sure all files are exported
24     correctly
25   - copy the tar.gz and tar.bz2 file on ftp.videolan.org in
26     /opt/ftp/pub/videolan/testing/vlc-X.X.X/
27   - generate md5 hashes and gpg signature of these files
28     (use gpg --sign --detach --armor --force-v3-sigs)
29
30  * Contribs
31   - Put a copy of the libraries or svn snapshot in vlc-X.X.X/contrib
32   - Put the relevant win32 contrib package
33   - Update developers.v.o/vlc and www.v.o/vlc/download-sources.html
34
35  * BeOS Packages
36     Information on building: http://developers.videolan.org/vlc/beos-compile.html
37     Configure with --enable-update-check
38     Build in the "buildbeos" chroot on altair.
39     # add the .zip files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/beos/
40    generate md5 hashes and gpg signature of these files
41    (use gpg --sign --detach --armor --force-v3-sigs)
42
43  * Win32 Packages
44     make the packages using the nightly builds configure/options/... , don't forget --enable-update-check
45     don't forget to test the installer and uninstaller (the first 0.8.4 uninstaller was broken ...
46     kind of suxxs)
47     add the .zip and .exe files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/win32/
48    generate md5 hashes and gpg signature of these files
49    (use gpg --sign --detach --armor --force-v3-sigs)
50
51  * OS X packages
52    configure with --enable-update-check
53    generate md5 hashes and gpg signature of these files
54    (use gpg --sign --detach --armor --force-v3-sigs)
55
56  * Commit changes ... it never works the first time
57
58  * "Tag" the release
59     svn cp svn://svn.videolan.org/vlc/trunk svn://svn.videolan.org/vlc/tag/X.X.X
60     or
61     svn mv svn://svn.videolan.org/vlc/branches/X.X.X svn://svn.videolan.org/vlc/tag/X.X.X
62
63  * Move /opt/ftp/pub/videolan/testing/vlc-X.X.X to /opt/ftp/pub/videolan/vlc/X.X.X
64   - At first block access to this directory by http or ftp. Only authorize rsync.
65     This is to avoid leak as some journalist and forum seems to watch the ftp.
66   - Update the "latest" symlink
67
68  * Update the website
69   - edit the /index.php /vlc/*.php pages
70   - add a news item to news.msg
71
72  * "Check for updates" functionality
73   - add /opt/ftp/pub/videolan/vlc/X.X.X/vlc-X.X.X-announce
74   - edit update.videolan.org/vlc/status.xml
75
76  * Mirrors
77   - Forwarn the mirror admins
78   - Update the list of files for the mirror check (/var/www/local/mirrors.v.o/files)
79   - Disable mirrors which haven't replicated yet and possibly ganesh if enough
80     other mirrors
81
82  * Update wiki
83   - edit http://wiki.videolan.org/Template:VLC:latest_version
84
85  * Announce on www.gnome.org
86   - click on "Get more software"
87   - click on "Edit an existing map entry"
88   - look for the 'vlc' package
89   - update the version number and other info and submit
90   - the change is instantaneaous
91
92  * Announce on www.freshmeat.net (let sam do it)
93   - you need a freshmeat account
94   - go to http://www.freshmeat.net/projects/vlc/
95   - click on the release's branch (ie Stable)
96   - chose "add release" in the dropdown menu
97   - fill out all the info and submit
98   - the update can take several hours
99
100  * Announce on VersionTracker
101   - ask Meuuh
102
103  * Announce email
104   - write something along the lines of previous releases
105   - post in videolan-announce (moderated), vlc et vlc-devel
106   - add a sticky thread in the "General VLC media player discussion" forum
107