mutter/doc/RELEASING
Robert Bragg afbb13e1a4 Add compiler deprecation warnings
This adds compiler symbol deprecation declarations for old Cogl APIs so
that users can easily see via compiler warning when they are using these
symbols, and also see a hint for what the apis should be replaced with.

So that users of Cogl can manage when to show these warnings this
introduces a scheme borrowed from glib whereby you can declare what
version of the Cogl api you are using:

COGL_VERSION_MIN_REQUIRED can be defined to indicate the oldest Cogl api
that the application wants to use. Cogl will only warn about
deprecations for symbols that were deprecated earlier than this required
version. If this is left undefined then by default Cogl will warn about
all deprecations.

COGL_VERSION_MAX_ALLOWED can be defined to indicate the newest api
that the application uses. If the application uses symbols newer than
this then Cogl will give a warning about that.

This patch removes the need to maintain the COGL_DISABLE_DEPRECATED
guards around deprecated symbols.

This patch fixes a few uses of deprecated symbols in the examples/

Reviewed-by: Neil Roberts <neil@linux.intel.com>
2013-04-24 22:23:50 +01:00

104 lines
2.8 KiB
Plaintext

RELEASING
=========
When making a new release;
- If it's a new stable release that increments the Cogl minor version
remember to add a new COGL_VERSION_1_X define to cogl/cogl-macros.h
- 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`.