Changes between Version 23 and Version 24 of WebKitGTK/Releasing


Ignore:
Timestamp:
Jul 22, 2015 12:13:19 AM (9 years ago)
Author:
Carlos Garcia Campos
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGTK/Releasing

    v23 v24  
    1 = Making a release of WebKit/GTK+ =
    2 {{{
    3 #!html
    4 <div style="width:100%">
    5 <div style="font-size:30px; background-color: red; font-weight: bold; margin: 0 auto; width: 500px; text-align: center;">The contents of this page are out of date.</div>
    6 </div>
    7 }}}
     1= Making a release of WebKitGTK+ =
    82
    93This document describes the steps toward making a release. To understand release strategy and timing please see [https://trac.webkit.org/wiki/WebKitGTKStableReleases]
    104
    115== 1. The last commit before release ==
    12   * Update the NEWS file using the same format as the previous entry.
     6  * Update the [https://trac.webkit.org/browser/trunk/Source/WebKit2/gtk/NEWS NEWS] file using the same format as the previous entry.
    137      * Identify the commit id of the previous release (NEWS file is normally changed only when releasing, so you could get the commit id of the previous release by looking at NEWS history)
    148      * Summarize major changes briefly in a style similar to other entries in NEWS.
     
    1610           * Copy the script to Tools/Scripts and run it giving the commit id of the previous release.
    1711           * It returns a list of bugs fixed since the given revision that might be related to the GTK port and the list fo people who fixed every bug.
    18       * Take special care to note any additions in the API. The following command will show each patch that has changed a public header file since the given version:
    19 {{{
    20 $ find Source/WebKit/gtk/webkit/ -name "webkit*.h" ! -name '*private.h' | xargs git log -p <commit-id-of-previous-release>.. --
    21 }}}
    22   * Update Source/autotools/Versions.m4:
     12      * Take special care to note any additions in the API.
     13  * Update [https://trac.webkit.org/browser/trunk/Source/cmake/OptionsGTK.cmake Source/cmake/OptionsGTK.cmake]:
    2314    * The public version is controlled by the lines:
    2415        {{{
    25 m4_define([webkit_major_version], [1])
    26 m4_define([webkit_minor_version], [7])
    27 m4_define([webkit_micro_version], [5])
     16set(PROJECT_VERSION_MAJOR 2)
     17set(PROJECT_VERSION_MINOR 9)
     18set(PROJECT_VERSION_MICRO 4)
    2819        }}}
    29     * The [http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html libtool library version] is controlled by the line:
    30      {{{ m4_define([libwebkitgtk_version], [C:R:A]) }}}
     20    * The [http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html libtool library version] is controlled by the lines:
     21     {{{ 
     22CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT2 C R A)
     23CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(JAVASCRIPTCORE C R A)
     24     }}}
    3125        * C (current): increment if the interface has additions, changes, removals.
    3226        * R (revision): increment any time the source changes; set to 0 if you increment CURRENT
    3327        * A (age): increment if any interfaces have been added; set to 0 if any interfaces have been changed or removed. Removal has precedence over adding, so set to 0 if both happened.
    34     * The user-agent version should be updated from Source/WebCore/Configurations/Version.xcconfig. It's controlled by the lines:
     28    * The user-agent version should be updated from [https://trac.webkit.org/browser/trunk/Source/WebCore/Configurations/Version.xcconfig Source/WebCore/Configurations/Version.xcconfig]. It's controlled by the lines:
    3529    {{{
    36 m4_define([webkit_user_agent_major_version], [535])
    37 m4_define([webkit_user_agent_minor_version], [20])
     30add_definitions(-DUSER_AGENT_GTK_MAJOR_VERSION=602)
     31add_definitions(-DUSER_AGENT_GTK_MINOR_VERSION=1)
    3832    }}}
    3933
    4034 == 2. Run final tests before release ==
    41   * Run `make distcheck` with the [http://thread.gmane.org/gmane.comp.gnu.make.bugs/4219 patched version of gnumake] (or take [http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-devel/make/files/ `make-3.8x-long-cmdline.patch` from here]).
    42     * Running "make distcheck" should result in no warnings or errors and show:
     35 * Generate the HTML documentation
    4336    {{{
    44 ==================================================
    45 webkit-X.Y.Z archives ready for distribution:
    46 webkit-X.Y.Z.tar.xz
    47 ==================================================
    48 }}}
     37WebKitBuild/Release $ ../../Tools/gtk/generate-gtkdoc
     38    }}}
     39 * Run [https://trac.webkit.org/browser/trunk/Tools/gtk/make-dist.py make-dist.py] script with the -c option to ensure a clean build is done
     40    {{{
     41WebKitBuild/Release $ export MAKE_ARGS=-j16
     42WebKitBuild/Release $ ../../Tools/gtk/make-dist.py -c -s ../../ ./manifest.txt
     43    }}}
    4944 * Commit the changes to NEWS and configure.ac. It's especially important to mention the new version number in your commit message.
    5045 * Check that the bots are not horribly broken and run the layout tests locally and see that they are in reasonably good health
    5146
    5247== 3. Make the release ==
    53  * `make distcheck` should have created tarball in the build directory. Upload it to petibonum.igalia.com.
    54  * Update or clone the [https://gitorious.org/webkitgtk/webkitgtkdotorg/ webkitgtkdotorg repository] and run webkit-release script with the new tarball
    55 {{{
     48 * [https://trac.webkit.org/browser/trunk/Tools/gtk/make-dist.py make-dist.py] should have created tarball in the build directory. Compress it with xz:
     49    {{{
     50WebKitBuild/Release $ xz -f webkitgtk-X.Y.Z.tar
     51    }}}
     52 * Update or clone the [https://github.com/WebKitGTK/webkitgtk.org webkitgtk.org repository] and run webkit-release script with the new tarball
     53    {{{
    5654./webkit-release release --host=<host-to-upload-the-tarball> webkitgtk-X.Y.Z.tar.xz
    57 }}}
     55    }}}
    5856 * Check the commit generated by webkit-release script and push it.
    5957 * Tag the release using the command:
    60 {{{
     58    {{{
    6159svn cp http://svn.webkit.org/repository/webkit/trunk/  http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-[release version]
    62 }}}
     60    }}}
    6361
    6462== 4. After the release ==