<h1 id="schedule">Release schedule</h1>
<p>
-Releases should happen on Fridays. Delays can occur although those should be keep
-to a minimum.
+Releases should happen on Wednesdays. Delays can occur although those
+should be keep to a minimum.
<br>
See our <a href="release-calendar.html" target="_parent">calendar</a> for the
date and other details for individual releases.
<p>
Nomination happens in the mesa-stable@ mailing list. However,
-maintainer is resposible of checking for forgotten candidates in the
+maintainer is responsible of checking for forgotten candidates in the
master branch. This is achieved by a combination of ad-hoc scripts and
a casual search for terms such as regression, fix, broken and similar.
</p>
Github integration.
</p>
+<p>
+For Windows related changes, the main contact point is Brian
+Paul. Jose Fonseca can also help as a fallback contact.
+</p>
+
+<p>
+For Android related changes, the main contact is Tapani
+Pälli. Mauro Rossi is collaborating with android-x86 and may
+provide feedback about the build status in that project.
+</p>
+
+<p>
+For MacOSX related changes, Jeremy Huddleston Sequoia is currently a
+good contact point.
+</p>
+
<p>
<strong>Note:</strong> If a patch in the current queue needs any additional
fix(es), then they should be squashed together.
Currently testing is performed courtesy of the Intel OTC team and their Jenkins CI setup. Check with the Intel team over IRC how to get things setup.
</p>
+<p>
+Installing the built driver from the pre-announced RC branch in the
+system and making some every day's use until the release may be a good
+idea too.
+</p>
+
<h1 id="branch">Making a branchpoint</h1>
release is made.
</p>
+<p>
+Be aware to add a note to warn about a final release in a series, if
+that is the case.
+</p>
+
<h2>Terminology used</h2>
<ul><li>Nominated</ul>
- NUMBER nominated (outstanding)
- and NUMBER rejected patches
+[If applicable:
+Note: this is the final anticipated release in the SERIES series. Users are
+encouraged to migrate to the NEXT_SERIES series in order to obtain future fixes.]
+
BRIEF SUMMARY OF CHANGES
Take a look at section "Mesa stable queue" for more information.
AUTHOR (NUMBER):
COMMIT SUMMARY
+[If applicable:
+Squashed with
+ COMMIT SUMMARY]
For example:
Squashed with
ralloc: don't leave out the alignment factor
+
Rejected (NUMBER)
=================
-Rejected (11)
-=============
-
AUTHOR (NUMBER):
SHA COMMIT SUMMARY
Reason: ...
+
+For example:
+
+Emil Velikov (1)
+ a39ad18 configure.ac: honour LLVM_LIBDIR when linking against LLVM
+
+Reason: The patch was reverted shortly after it was merged.
</pre>
</p>
<pre>
+ # Set MAKEFLAGS if you haven't already
git clean -fXd; git clean -nxd
read # quick cross check any outstanding files
export __version=`cat VERSION`
chmod 755 -fR $__build_root; rm -rf $__build_root
mkdir -p $__build_root && cd $__build_root
- $__mesa_root/autogen.sh && make -j2 distcheck
+ # For the native builds - such as distcheck, scons, sanity test, you
+ # may want to specify which LLVM to use:
+ # export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
+
+ # Do a full distcheck
+ $__mesa_root/autogen.sh && make distcheck
# Build check the tarballs (scons, linux)
tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
cd .. && rm -rf mesa-$__version
# Build check the tarballs (scons, windows/mingw)
+ # Temporary drop LLVM_CONFIG, unless you have a Windows/mingw one.
+ # save_LLVM_CONFIG=`echo $LLVM_CONFIG`; unset LLVM_CONFIG
tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
scons platform=windows toolchain=crossmingw
cd .. && rm -rf mesa-$__version
# Test the automake binaries
+ # Restore LLVM_CONFIG, if applicable:
+ # export LLVM_CONFIG=`echo $save_LLVM_CONFIG`; unset save_LLVM_CONFIG
tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
./configure \
--with-dri-drivers=i965,swrast \
--enable-glx-tls \
--enable-gbm \
--enable-egl \
- --with-egl-platforms=x11,drm,wayland
- make -j2 && DESTDIR=`pwd`/test make -j6 install
+ --with-platforms=x11,drm,wayland,surfaceless
+ make && DESTDIR=`pwd`/test make install
+
+ # Drop LLVM_CONFIG, if applicable:
+ # unset LLVM_CONFIG
+
__glxinfo_cmd='glxinfo 2>&1 | egrep -o "Mesa.*|Gallium.*|.*dri\.so"'
__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
__es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"'
- export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/
+ test "x$LD_LIBRARY_PATH" != 'x' && __old_ld="$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
export LIBGL_DEBUG=verbose
eval $__glxinfo_cmd
eval $__glxgears_cmd
eval $__es2info_cmd
eval $__es2gears_cmd
- export LIBGL_ALWAYS_SOFTWARE=1
+ export LIBGL_ALWAYS_SOFTWARE=true
eval $__glxinfo_cmd
eval $__glxgears_cmd
eval $__es2info_cmd
eval $__es2gears_cmd
- export LIBGL_ALWAYS_SOFTWARE=1
+ export LIBGL_ALWAYS_SOFTWARE=true
export GALLIUM_DRIVER=softpipe
eval $__glxinfo_cmd
eval $__glxgears_cmd
eval $__es2gears_cmd
# Smoke test DOTA2
unset LD_LIBRARY_PATH
+ test "x$__old_ld" != 'x' && export LD_LIBRARY_PATH="$__old_ld" && unset __old_ld
unset LIBGL_DRIVERS_PATH
unset LIBGL_DEBUG
unset LIBGL_ALWAYS_SOFTWARE
+ unset GALLIUM_DRIVER
export VK_ICD_FILENAMES=`pwd`/src/intel/vulkan/dev_icd.json
steam steam://rungameid/570 -vconsole -vulkan
+ unset VK_ICD_FILENAMES
</pre>
<h3>Update version in file VERSION</h3>
</p>
<pre>
+ # For the dist/distcheck, you may want to specify which LLVM to use:
+ # export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
../relative/path/to/release.sh . # append --dist if you've already done distcheck above
</pre>
</pre>
<p>
-Also, edit docs/relnotes.html to add a link to the new release notes, and edit
-docs/index.html to add a news entry. Then commit and push:
+Also, edit docs/relnotes.html to add a link to the new release notes,
+edit docs/index.html to add a news entry and a note in case of the
+last release in a series, and remove the version from
+docs/release-calendar.html. Then commit and push:
</p>
<pre>
- git commit -as -m "docs: add news item and link release notes for X.Y.Z"
+ git commit -as -m "docs: update calendar, add news item and link release notes for X.Y.Z"
git push origin master X.Y
</pre>
Use the generated template during the releasing process.
</p>
+<p>
+Again, pay attention to add a note to warn about a final release in a
+series, if that is the case.
+</p>
+
<h1 id="website">Update the mesa3d.org website</h1>