X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Frelease-howto.txt;h=43631dd957d0fe5f5fcc1befd7637cbaf3bbed09;hb=31fd358e8a55953fb410898e32e5c25a4c7b09d9;hp=87ba872d70323c63324e6b245f24d7f9262419bf;hpb=133d5c2b5690825d38a5393635ae6f8b4979d85f;p=vlc diff --git a/doc/release-howto.txt b/doc/release-howto.txt index 87ba872d70..43631dd957 100644 --- a/doc/release-howto.txt +++ b/doc/release-howto.txt @@ -1,102 +1,99 @@ +Release HOWTO +------------- [ 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 - · extras/libdvdcss/libdvdcss.spec (si nécessaire) - · 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 : - · ChangeLog - · ChangeLog.libdvdcss (si nécessaire) - - updater debian/changelog (laissez faire sam si vous ne savez pas - comment faire) - - * Commit, tag - - * Tarballs - - - créer le tar.gz et le tar.bz2 du vlc avec `make snapshot'. - - copier le tar.gz et le tar.bz2 sur brahma, dans le répertoire - /opt/ftp/pub/videolan/vlc// - - créer le tar.gz et le tar.bz2 de libdvdcss avec `make libdvdcss-snapshot'. - - copier le tar.gz et le tar.bz2 sur brahma, dans le répertoire - /opt/ftp/pub/videolan/libdvdcss// - - si les répertoires créés ne sont pas en g+w, corriger cela - - * Packages Debian pour videolan.org - - - à partir d'un tar.gz, lancer `dpkg-buildpackage -rfakeroot [-us -uc]' - - copier tous les fichiers créés sur brahma, dans le répertoire - /opt/ftp/pub/videolan/vlc//deb/ - - * Packages Debian officiels pour debian.org - - - normalement il n'y a que sam qui touche à ça. - - créer un tar.gz sans libdvdcss avec `make snapshot-nocss' - - `dpkg-buildpackage -rfakeroot' - - `debupload' - - * Packages RedHat - - - mettre le tar.bz2 dans /usr/src/redhat/SOURCES - - extraire le tar.bz2, faire un chown root.root vlc.spec - - lancer rpm -ba vlc.spec - - * Packages BeOS - - - compiler un vlc avec `--enable-release' - - lancer `make package-beos' - - copier le .zip créé sur brahma, dans le répertoire - /opt/ftp/pub/videolan/vlc//beos/ - - * Packages Win32 - - - cross-compiler un vlc avec `--enable-release' - - lancer `make package-win32' - - copier le .exe créé sur brahma, dans le répertoire - /opt/ftp/pub/videolan/vlc//win32/ - - * Update sur le web - - - le web se trouve dans /opt/www/videolan/htdocs/ - - éditer vlc/download.html pour mettre à jour les tarballs - - éditer libdvdcss/download.html si nécessaire - - é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 - - refaire pareil avec http://www.freshmeat.net/projects/libdvdcss/ - - l'update peut mettre plusieurs heures - - * Mail d'annonce - - - s'inspirer du format des annonces précédentes - - poster dans videolan-announce, vlc et vlc-devel + * Tests: compilation, regression tests ... + + * 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. + + * Commit + * "Tag" the release + git tag -a -m "VLC Release VERSION" + (Create an annotated tag, you can skip -a if you used -m) + git push origin + + * Tarballs (Use a clean tree !!!) + - Use 'make distcheck' to make sure all files are exported correctly + - copy the tar.xz file on ganesh.videolan.org + - generate SHA, MD5 hashes and OpenPGP signature of these files : + for file in vlc*; do + for sum in md5 sha1 sha256; do + ${sum}sum --binary $file > $file.$sum + done + gpg -sb -u VideoLAN\ Release --armor --force-v3-sigs $file + done + + * Contribs + - Put a copy of the libraries or git snapshot in ftp://ftp.videolan.org/pub/contrib/ + - Put the relevant win32 and Mac OS contrib package + - Update s.v.o/vlc and www.v.o/vlc/download-sources.html + + * Win32 Packages + - configure using the extras/package/win32/configure.sh script + - copy the packages files on ganesh.videolan.org + - copy the vlc-2.0.4 and symbols-2.0.4 to balthazar for stacktraces + + * Mac OS X packages + - configure using the extras/package/macosx/configure.sh script + - use extras/package/macosx/codesign.sh with options and key to sign it. + - copy the package to ganesh.videolan.org + + * Sign all the files and move the signed files 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. + - update the md5 + + * "Check for updates" functionality + - edit update.videolan.org/vlc/status + - gpg -u VideoLAN\ Release -t --sign --detach --armor + - for i in *asc;do gpg --verify $i || echo $i;done + + * Mirrors + - Forwarn the mirror admins (optional for any minor release) + - Go to https://get.videolan.org/?mirrorlist + - Ensures there is enough mirrors able to serve the file in each region + or just wait few more hours before doing the release. + Suggested number of mirrors: + - > 70% for a minor release + - > 80% for a major release + - > 80% for any auto-update + - Keep an eye on https://get.videolan.org/?mirrorstats during the release + + * Update the wiki + - edit http://wiki.videolan.org/Template:VLC:latest_version + + * Announce on www.freecode.com (let jb or sam do it, if you lack the account) + - go to https://freecode.com/projects/vlc/ + - chose "Submit a release" in the right menu, in "Administration" + - Do the steps and wait (the update can take several hours) + + * Announce on Twitter, Facebook and G+ + Unfortunately, those are more followed than the all other mediums combined + + * 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