mutter/doc/RELEASING
Robert Bragg a945890de6 Workaround drisw bug where clipped redraws don't work
This detects when we are running on any of Mesa's software rasterizer
backends and disables use of glBlitFramebuffer and glXCopySubBuffer.
Both of these currently result in full-screen copies so there's little
point in using these to optimize how much of the screen we present.

To help ensure we re-evaluate this workaround periodically we have added
a comment marker of "ONGOING BUG" above the workaround and added a note
to our RELEASING document that says we should grep for this marker and
write a NEWS section about ongoing bug workarounds.

https://bugzilla.gnome.org/show_bug.cgi?id=674208

Reviewed-by: Neil Roberts <neil@linux.intel.com>

(cherry picked from commit 11f2f6ebb42398978ec8dd92b3c332ae8140a728)
2012-08-06 14:27:42 +01:00

101 lines
2.7 KiB
Plaintext

RELEASING
=========
When making a new release;
- Verify that you don't have uncommitted changes; both:
$ git diff HEAD
and:
$ git diff --stat master origin/master
should be empty.
- Clean your work directory:
$ git clean -xdf
This ensures that you don't have stale files lying around.
- Run:
$ ./autogen.sh --enable-gtk-doc --enable-profile --enable-gles1 --enable-gles2 --enable-gl --enable-xlib-egl-platform --enable-wayland-egl-platform --enable-glx --enable-wayland-egl-server
$ make all
$ make install
And verify that the code builds and installs from a clean Git snapshot.
- Run checks including running the conformance tests:
$ make check
- Test with Clutter:
Since we haven't migrated all the Cogl unit tests from Clutter yet, you
should now build Clutter against Cogl and run the conformance tests:
$ ./autogen.sh
$ make all
$ make test
- Test cross-compiling for Windows:
Please use the build/mingw/mingw-fetch-dependencies.sh with a fresh
build directory to make sure that all of the download links still
work.
- Update the release documentation:
- NEWS: new feature details, bugs fixed, acknowledgements
- Use git shortlog -n -s to get the list of authors
- The following bash snippet may help with extracting the list of
bugs closed:
- Grep the source code for "XXX: ONGOING BUG" and add a
section about workarounds for un-resolved upstream bugs.
URLS=$(git log $1|grep bugzilla|sort|uniq)
for i in $URLS
do
ID=$(echo $i|cut -d'=' -f2)
TITLE=$(wget --quiet -O - $i|grep -e '<title>.*</title>'|sed -e 's/<title>Bug [0-9]\+ &ndash; \(.*\)<\/title>/\1/')
echo " #$ID - $TITLE"
done
- README: dependencies, any behavioural changes relevant to
developers;
then commit the changes.
- Read the release comments in configure.ac
- Bump cogl_1_minor_version to the next even number
- Don't change the 2.0 version number
- Update the libtool versioning
- Update the cogl_release_status status to "release" or "snapshot"
as appropriate.
- commit the changes.
- Run:
$ make release-publish
which will:
- do sanity checks on the build
- distcheck the release
- tag the repository with the version number
- upload the tarball to the remote server (needs SSH account)
- Bump cogl_1_micro_version to the next odd number
- Revert cogl_release_status to "git"
- Push the branch and then the tag, e.g.:
$ git push origin master
$ git push origin 1.7.0
- Announce release to the waiting world on the blog and mailing lists. Use
the template printed by `make release-publish`.