release-howto.txt 5.53 KB
Newer Older
Sam Hocevar's avatar
 
Sam Hocevar committed
1 2 3
[ Note: this howto is probably useful to core vlc developers only ]

  Release HOWTO
Clément Stenac's avatar
Clément Stenac committed
4 5
  -------------

6
 * Tests: compilation, regression tests ...
Sam Hocevar's avatar
 
Sam Hocevar committed
7

8
 * Changes on the git repository
Clément Stenac's avatar
Clément Stenac committed
9
   - update the version number everywhere it's needed
Rémi Denis-Courmont's avatar
UTF-8  
Rémi Denis-Courmont committed
10
     · configure.ac
11
     · extras/package/macosx/Resources/English.lproj/InfoPlist.strings
12
     · extras/package/macosx/Info.plist
13 14 15 16
     · extras/package/macosx/plugin/English.lproj/InfoPlist.strings
     · extras/package/macosx/plugin/Info.plist
     · extras/package/macosx/plugin/InstallerInfo.plist
     · extras/package/macosx/vlc.xcodeproj/project.pbxproj 
Felix Paul Kühne's avatar
Felix Paul Kühne committed
17 18
   - update the ChangeLog and NEWS files, as well as the Trac database:
        LANG=C git log --since="01-01" --until="12-31" >! ChangeLog
19 20
   - read all the commits and add important things to the NEWS file
   - update the milestones info on https://trac.videolan.org/vlc
21
   - Add a note about the matching contrib package in INSTALL.win32
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
22 23
   - Update OpenGPG key embedded in include/vlc_update.h if needed
   - Increase the libvlccore and libvlc revisions in src/Makefile.am
24 25
      _if_and_only_if_ the ABI number has not been increased instead, in
      which case the revision goes back to zero.
Sam Hocevar's avatar
 
Sam Hocevar committed
26

Sam Hocevar's avatar
 
Sam Hocevar committed
27
 * Commit
Sam Hocevar's avatar
 
Sam Hocevar committed
28

29
 * Tarballs (Use a clean tree !!!)
Clément Stenac's avatar
Clément Stenac committed
30
  - Use 'make distcheck' to make sure all files are exported
31
    correctly
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
32
  - copy the tar.bz2 file on ftp.videolan.org in
33
    /opt/ftp/pub/videolan/testing/vlc-X.X.X/
34
  - generate SHA1 plus md5 hashes and gpg signature of these files
35
    (use gpg --sign --detach --armor)
Sam Hocevar's avatar
 
Sam Hocevar committed
36

37
 * Contribs
38
  - Put a copy of the libraries or git snapshot in vlc-X.X.X/contrib
39 40 41
  - Put the relevant win32 contrib package
  - Update developers.v.o/vlc and www.v.o/vlc/download-sources.html

42
 * BeOS Packages
Clément Stenac's avatar
Clément Stenac committed
43
    Information on building: http://developers.videolan.org/vlc/beos-compile.html
44
    Configure with --enable-update-check
Clément Stenac's avatar
Clément Stenac committed
45
    Build in the "buildbeos" chroot on altair.
46
    # add the .zip files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/beos/
47 48
    generate md5 plus SHA1 hashes and gpg signature of these files
    (use gpg --sign --detach --armor)
Sam Hocevar's avatar
 
Sam Hocevar committed
49

50
 * Win32 Packages
51 52 53 54
    make the packages using the nightly builds configure/options/... , don't
     forget --enable-update-check
    don't forget to test the installer and uninstaller (the first 0.8.4
    uninstaller was broken ... kind of suxxs)
55
    add the .zip and .exe files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/win32/
56 57
    generate md5 plus SHA1 hashes and gpg signature of these files
    (use gpg --sign --detach --armor)
Sam Hocevar's avatar
 
Sam Hocevar committed
58

Clément Stenac's avatar
Clément Stenac committed
59
 * OS X packages
60 61 62 63 64 65 66 67 68 69 70 71
    Information on compilation: wiki.videolan.org/OSXCompile
    configure with --enable-update-check
    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. Test it on   
     PowerPC and Intel-based Macs.
    add the .dmg files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/macosx/
    Nomenclature is vlc-X.X.X-$(PLATFORM).dmg respectively 
     vlc-plugin-X.X.X-$(PLATFORM).dmg and vlckit-X.X.X-$(PLATFORM).dmg. 
    Don't put any platform for the UB package.
    generate md5 plus SHA1 hashes and gpg signature of these files
     (use gpg --sign --detach --armor)
Clément Stenac's avatar
Clément Stenac committed
72

73
 * Commit changes ... it never works the first time
Sam Hocevar's avatar
 
Sam Hocevar committed
74

75
 * "Tag" the release
76

77
    git tag -a -m "VLC Release VERSION" <VERSION>
78
    (Create an annotated tag, you can skip -a if you used -m)
79
    git push origin <VERSION>
80

81 82
    (You are advised to play with it on the sandrox.git if you feel 
     uncomfortable)
Sam Hocevar's avatar
 
Sam Hocevar committed
83

84 85 86 87 88
 * Move /opt/ftp/pub/videolan/testing/vlc-X.X.X to 
     /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.
Christophe Mutricy's avatar
Christophe Mutricy committed
89
  - Update the "latest" symlink
90

91 92 93
 * Update the website
  - edit the /index.php /vlc/*.php pages
  - add a news item to news.msg
94
  - update the front page OS dependant screenshots if the interface changed.
Sam Hocevar's avatar
 
Sam Hocevar committed
95

96 97 98 99
 * "Check for updates" functionality
  - add /opt/ftp/pub/videolan/vlc/X.X.X/vlc-X.X.X-announce
  - edit update.videolan.org/vlc/status.xml

100 101
 * Mirrors
  - Forwarn the mirror admins
102 103 104 105
  - 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
106

107
 * Update the wiki
108
  - edit http://wiki.videolan.org/Template:VLC:latest_version
109 110
  - put the respective NEWS page to wiki.videolan.org/Changelog/X.X.X
  - announce the release on the Main Page
111

112 113 114 115 116
 * 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
117
  - the change is instantaneous
Sam Hocevar's avatar
 
Sam Hocevar committed
118

Clément Stenac's avatar
Clément Stenac committed
119
 * Announce on www.freshmeat.net (let sam do it)
120 121
  - you need a freshmeat account
  - go to http://www.freshmeat.net/projects/vlc/
122 123
  - click on the release's branch (i.e. Stable)
  - chose "add release" in the drop-down menu
124 125
  - fill out all the info and submit
  - the update can take several hours
Christophe Massiot's avatar
Christophe Massiot committed
126

127 128
 * Announce on VersionTracker
  - ask Meuuh
Sam Hocevar's avatar
 
Sam Hocevar committed
129

130 131 132
 * Announce email
  - write something along the lines of previous releases
  - post in videolan-announce (moderated), vlc et vlc-devel
133 134
    You are advised to add the author list for this version using
    'git shortlog -s PREVIOUS_VERSION..VERSION'
135
    And to add git diff --stat PREVIOUS_VERSION..VERSION if it's relevant.
136 137
    You can play a bit with git to show the piece of information that may be
    interesting.
138
  - add a sticky thread in the "General VLC media player discussion" forum
Clément Stenac's avatar
Clément Stenac committed
139