view DOCS/tech/release-howto.txt @ 17566:f580a7755ac5

Patch by Stefan Huehner / stefan % huehner ! org \ patch replaces '()' for the correct '(void)' in function declarations/prototypes which have no parameters. The '()' syntax tell thats there is a variable list of arguments, so that the compiler cannot check this. The extra CFLAG '-Wstrict-declarations' shows those cases. Comments about a similar patch applied to ffmpeg: That in C++ these mean the same, but in ANSI C the semantics are different; function() is an (obsolete) K&R C style forward declaration, it basically means that the function can have any number and any types of parameters, effectively completely preventing the compiler from doing any sort of type checking. -- Erik Slagter Defining functions with unspecified arguments is allowed but bad. With arguments unspecified the compiler can't report an error/warning if the function is called with incorrect arguments. -- M\ns Rullg\rd
author rathann
date Thu, 09 Feb 2006 14:08:03 +0000
parents e183a591efee
children 4c9698666a4c
line wrap: on
line source

How to make an MPlayer release
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

preparations:
- Announce release target date on dev-eng and #mplayerdev
- Ask the DOCS maintainers to commit their final changes, check if
  all docs are up to date, etc.
- Verify man page, remove obsolete options, mention new ones.
- Ask translation maintainers to update their help_mp*.h file.
- Update the ChangeLog file (according to CVS log), ask other developers
  to verify their parts, etc. Ask Diego to spellcheck it.
- Consult at -dev-eng about unstable parts of the code which should be
  disabled for the release.
- Find a codename for the release

create the release tree:
- tag cvs with release name
- update release.sh script with version number
***the following steps are done automatically by release.sh script***
- cvs checkout the mplayer src tree
- check out libavcodec and libavformat from FFmpeg CVS
- remove the CVS subdirs:
    find main -name CVS -exec rm -rf {} \;
- remove the .cvsignore files:
    find main -name .cvsignore -exec rm {} \;
- remove obsolete DOCS translations, help files
- replace version.sh with this (change version number too...):

============
#!/bin/sh
echo "#define VERSION \"1.0pre5-$1 \"" > version.h
============

- build the HTML docs from XML sources, then clean up:
    make html-chunked; make releaseclean

release the tree:
    cd ..
    mv main MPlayer-0.90rc5
    tar -cf MPlayer-0.90rc5.tar MPlayer-0.90rc5
    bzip2 -9 MPlayer-0.90rc5.tar
***end of part done by release.sh**

test it (download to your local machine, extract, compile, run)
 - compilers: gcc 3, gcc 2.95, mingw, cygwin
 - architectures: PPC, AMD64, x86 with MMX[2], SSE[2], 3DNow
 - OS: Linux, BSD, Windows, MacOS X

copy to FTP:
    cp MPlayer-0.90rc5.tar.bz2 /home/ftp/MPlayer/releases/
    cp ChangeLog-0.90rc5 and update ChangeLog symlink
    md5sum MPlayer-0.90rc5.tar.bz2 > MPlayer-0.90rc5.tar.bz2.md5

move the older (pre)release(s) (except the last one before the current one)
to ../OLD_stuff/ dir

Somehow get Diego to write a news entry for the release, and update the
source file of dload.html and commit it. Test it, it's sometimes buggy
(broken links etc). Also, update translated versions of dload.html.

Send a message to mplayer-announce mailing list.

Add the new release version to bugzilla page.

Update release version in #mplayer topic

Update project page on Freshmeat

Done.