-
[ Note: this howto is probably useful to core vlc developers only ]
Release HOWTO
- - - - - - - - -
-
- * Tests préalables (compilation, regression test, etc.) (on ne rit pas)
-
- * Opérations sur la repository
-
- - générer un timestamp de release (par exemple avec 822-date)
- - updater le numéro de version partout où c'est nécessaire
- · configure.in (relancer autoconf)
- · vlc.spec
- · ipkg/control
- · debian/changelog
- - mettre à jour les ChangeLog et la TODO list pour ceux qui auraient
- étourdiment oublié de l'updater à chaque commit
- - updater le numéro de version et le timestamp dans :
- · vlc.spec
- · ChangeLog
- · debian/changelog
- - updater debian/changelog (laissez faire sam si vous ne savez pas
- comment faire)
-
- * Commit
-
- * Tarballs
-
- - créer le tar.gz du vlc avec `make dist'.
- - copier le tar.gz sur brahma, dans /opt/ftp/pub/vlc/XXX/
- - si les répertoires créés ne sont pas en g+w, corriger cela
-
- * Packages Debian
-
- mv vlc-XXX.tar.gz vlc_XXX.orig.tar.gz
- tar xvzf vlc_XXX.orig.tar.gz
- cd vlc-XXX
- dpkg-buildpackage -rfakeroot
- if [ $LOGNAME = sam ]; then debupload ../*XXX*; fi
- # copier les fichiers créés sur brahma, dans /opt/ftp/pub/vlc/XXX/deb/
-
- * Packages RPM
-
- rpm -ta vlc-XXX.tar.gz
- # copier les fichiers créés sur brahma, dans /opt/ftp/pub/vlc/XXX/rpm/
-
- * Packages BeOS
-
- tar xvzf vlc-XXX.tar.gz
- cd vlc-XXX
- ./configure --with-dvdcss-tree=../libdvdcss --enable-release
- make
- make package-beos
- # copier le .zip créé sur brahma, dans /opt/ftp/pub/vlc/XXX/beos/
-
- * Packages Win32
+ -------------
- # aller sur vthr
- tar xvzf vlc-XXX.tar.gz
- cd vlc-XXX
- configure-win32 --enable-release --disable-gtk --disable-sdl
- make
- make package-win32
- # copier le .exe créé sur brahma, dans /opt/ftp/pub/vlc/XXX/win32/
+ * Tests: compilation, regression tests ...
- * Commit (ben oui, faut pas croire que tout aura marché du premier coup)
+ * 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.
- * Tag, selon le schéma v0_2_92 pour 0.2.92
-
- * Update sur le web
-
- - le web se trouve dans /var/www/www.videolan.org/
- - éditer vlc/download.html pour mettre à jour les tarballs
- - éditer news.msg pour mettre une petite bafouille sur la release, en
- s'inspirant des releases précédentes et du changelog quand on n'a pas
- d'idées
-
- * Annonce sur www.gnome.org
-
- - cliquer à gauche sur "Get more software"
- - cliquer sur "Edit an existing map entry"
- - rentrer 'vlc' comme nom de package
- - mettre à jour le numéro de version et d'éventuels détails, et submit
- - l'update est instantanée
-
- * Annonce sur www.freshmeat.net
-
- - il faut avoir un compte sur freshmeat
- - aller sur http://www.freshmeat.net/projects/vlc/
- - cliquer sur la branche de la release, par exemple Ourumov
- - choisir "add release" dans le menu déroulant
- - remplir tout le bazar, et submit
- - l'update peut mettre plusieurs heures
-
- * Annonce sur VersionTracker
-
- - demander à Meuuh pour le moment
-
- * Mail d'annonce
-
- - s'inspirer du format des annonces précédentes
- - poster dans videolan-announce, vlc et vlc-devel
+ * Commit
+ * Tag the commit
+
+ * Tarballs (Use a clean tree !!!)
+ - Use 'make distcheck' to make sure all files are exported correctly
+ - copy the tar.xz file on altair.videolan.org
+ - copy the binaries files on altair.videolan.org, if possible
+ - generate SHA, MD5 hashes and OpenPGP signature of these files
+ (use sha*sum --binary, md5sum --binary, gpg --sign --detach --armor)
+ Use the ~/bin/sumandsign.sh script
+
+ * Contribs
+ - 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
+
+ * Win32 Packages
+ - configure using the extras/package/win32/configure.sh script
+ - move to altair and generate md5 plus SHA1 hashes and gpg signature of these files
+ (c.f. Tarballs)
+
+ * OS X packages
+ - configure using ./configure --enable-macosx
+ - 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.
+ - move to altair and generate md5 plus SHA1 hashes and gpg signature of these files
+ (c.f. Tarballs)
+
+ * Commit changes ... it never works the first time
+
+ * "Tag" the release
+ git tag -a -m "VLC Release VERSION" <VERSION>
+ (Create an annotated tag, you can skip -a if you used -m)
+ git push origin <VERSION>
+
+ * Move the signed files from altair to ganesh, 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, include/os-specific.php files
+ - create a /vlc/release/X.X.X page
+ - add a news item to news.msg
+ - update the front page OS dependant screenshots if the interface changed.
+
+ * "Check for updates" functionality
+ - edit update.videolan.org/vlc/status
+ - gpg -t --sign --detach --armor
+
+ * Mirrors (if necessary)
+ - 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 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
+
+ * Announce on www.freshmeat.net (let jb or sam do it)
+ - you need a freshmeat account
+ - go to http://www.freshmeat.net/projects/vlc/
+ - chose "Submit a release" in the right menu
+ - fill out all the info and submit
+ - the update can take several hours
+
+ * Announce on VersionTracker
+ - ask Meuuh
+
+ * Announce on twitter and facebook...
+ Unfortunately, those are more followed than the other means
+
+ * 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