</p>
<p>
-Maintainer is responsible for testing in various possible permutations of
+Nomination happens in the mesa-stable@ mailing list. However,
+maintainer is resposible 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>
+
+<p>
+Maintainer is also responsible for testing in various possible permutations of
the autoconf and scons build.
</p>
<li>make distcheck, scons and scons check must pass
<li>Testing with different version of system components - LLVM and others is also
performed where possible.
+<li>As a general rule, testing with various combinations of configure
+switches, depending on the specific patchset.
</ul>
<p>
-Achieved by combination of local ad-hoc scripts and AppVeyor plus Travis-CI,
-the latter as part of their Github integration.
+Achieved by combination of local ad-hoc scripts, mingw-w64 cross
+compilation and AppVeyor plus Travis-CI, the latter as part of their
+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>
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>
</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
tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
+ # Restore LLVM_CONFIG, if applicable:
+ # export LLVM_CONFIG=`echo $save_LLVM_CONFIG`; unset save_LLVM_CONFIG
./configure \
--with-dri-drivers=i965,swrast \
--with-gallium-drivers=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
__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
</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 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>