]> git.sesse.net Git - vlc/blobdiff - doc/release-howto.txt
Use var_InheritString for --decklink-video-connection.
[vlc] / doc / release-howto.txt
index 4749e6c39d1ee89087834b0c628ff1eddadd2bae..3961380bb6b30a054d7a7d2c904bbb0343ca97df 100644 (file)
   Release HOWTO
   -------------
 
- * Tests : compilation, regression tests ...
+ * Tests: compilation, regression tests ...
 
- * Changes on the svn repository
+ * Changes on the git 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
+     · configure.ac
+   - update the NEWS files, as well as the Trac database.
+     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
+   - 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
 
  * 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
+  - copy the tar.xz file on ftp.videolan.org in
     /opt/ftp/pub/videolan/testing/vlc-X.X.X/
-  - generate md5 hashes and gpg signature of these files
+  - generate SHA, MD5 hashes and OpenPGP signature of these files
+    (use sha*sum --binary, md5sum --binary, gpg --sign --detach --armor)
 
  * Contribs
-  - Put a copy of the libraries or svn snapshot in vlc-X.X.X/contrib
+  - 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
 
  * BeOS Packages
     Information on building: http://developers.videolan.org/vlc/beos-compile.html
+    Configure with --enable-update-check
     Build in the "buildbeos" chroot on altair.
     # add the .zip files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/beos/
+    generate md5 plus SHA1 hashes and gpg signature of these files
+    (c.f. Tarballs)
 
  * 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)
+    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)
     add the .zip and .exe files to /opt/ftp/pub/videolan/testing/vlc-X.X.X/win32/
-   generate md5 hashes and gpg signature of these files
+    generate md5 plus SHA1 hashes and gpg signature of these files
+    (c.f. Tarballs)
 
  * 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
-   generate md5 hashes and gpg signature of these files
+    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
+     (c.f. gpg --sign --detach --armor)
 
  * 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
+    git tag -a -m "VLC Release VERSION" <VERSION>
+    (Create an annotated tag, you can skip -a if you used -m)
+    git push origin <VERSION>
+
+    (You are advised to play with it on the sandrox.git if you feel 
+     uncomfortable)
+
+ * 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.
   - Update the "latest" symlink
 
  * Update the website
   - edit the /index.php /vlc/*.php pages
   - add a news item to news.msg
+  - update the front page OS dependant screenshots if the interface changed.
 
  * "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
+  - edit update.videolan.org/vlc/status
 
  * Mirrors
   - 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 replicated yet and possibly ganesh if enough
-    other mirrors
+  - 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)
+
+ * Update the wiki
+  - edit http://wiki.videolan.org/Template:VLC:latest_version
+  - put the respective NEWS page to wiki.videolan.org/Changelog/X.X.X
+  - announce the release on the Main Page
 
  * 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
+  - the change is instantaneous
 
  * 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
+  - click on the release's branch (i.e. Stable)
+  - chose "add release" in the drop-down menu
   - fill out all the info and submit
   - the update can take several hours
 
  * Announce on VersionTracker
   - ask Meuuh
 
- * Announce email
+ * 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