===========================================================================
|| Horde Release Process Notes                                           ||
===========================================================================

$Horde: horde/docs/RELEASE,v 1.3 2000/11/06 16:22:09 bjn Exp $


Here are the steps I use when cutting a new release:

-   Examine */docs/CHANGES files:

    --  Add the word SECURITY in front of any security-related changes,
        and move them to the top, to draw attention to them.

    --  Cull out the most important ones, and prepare the text of an
        announcement.

-   Set the CVSROOT environment variable to a user with commit privs, and
    change to an empty directory.

-   Create the tarballs using (HEAD) horde/scripts/make-tarball.pl:

    --  Must be run as root (to set file ownership).

    --  Can optionally add "--nocommit" to do a "dry run" that will not
        make any CVS changes.

    --  Example commands (omit "--branch" when building HEAD):

        # make-tarball.pl --module=horde --version=1.2.<n> --branch=STABLE_1_2
        # make-tarball.pl --module=imp --version=2.2.<n> --branch=STABLE_2_2

-   Get the MD5 checksum of the resulting tarballs, and add to the
    announcement text.

-   Copy the resulting tarballs to ftp://ftp.horde.org/pub/<module>/tarballs
    (the /usr/local/ftp/pub/... directory on the horde.org server):

    --  Make sure group is "ftp" and permissions are "rw-rw-r--" so that
        other team members can write to them.

    --  Update the "latest" symbolic links; for example:

        $ cd .../pub/horde/tarballs
        $ ln -sf horde-1.2.<n>.tar.gz horde-latest.tar.gz
        $ cd .../pub/imp/tarballs
        $ ln -sf imp-2.2.<n>.tar.gz imp-latest.tar.gz

    --  Update the .../pub/<module>/tarballs/README files.

    --  Move previous versions to the "old" subdirectory.

-   Update the web site (hordeweb CVS directory):

    --  For IMP, check out hordeweb/imp and edit:

        2.2/2000 2.2/latest.html 2.2/supported.html
        download/download.html

-   Publish the announcement to the relevant Horde lists (including
    "announce").

-   Create a freshmeat.net announcement.

-   Add new sentinels to the top of the <module>/docs/CHANGES files.

    [TO DO: automate this task in the make-tarball.pl script.]

-   Keep hordeweb/faq/admin/install/answers.txt RPM version up to date.

    [TO DO: automate this task in the make-tarball.pl script.]

[Note: as of 9/29/2000, the make-tarball.pl script should now
automatically update the <module>/lib/version.php files, so this
doesn't need to be done manually any more.]
