mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-15 17:18:05 +02:00
Update release instructions for new release-publish target.
Add release-check and release-publish targets copied from libpixman.
This commit is contained in:
parent
39d57762a6
commit
377983fdf3
3 changed files with 80 additions and 37 deletions
|
|
@ -1,5 +1,11 @@
|
|||
2004-10-27 Carl Worth <cworth@cworth.org>
|
||||
|
||||
* RELEASING: Update release instructions for new release-publish
|
||||
target.
|
||||
|
||||
* Makefile.am: Add release-check and release-publish targets
|
||||
copied from libpixman.
|
||||
|
||||
* test/Makefile.am (AM_LDFLAGS): Fix to always link tests against
|
||||
locally built library, not installed version.
|
||||
|
||||
|
|
|
|||
40
Makefile.am
40
Makefile.am
|
|
@ -8,3 +8,43 @@ EXTRA_DIST = \
|
|||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = cairo.pc
|
||||
|
||||
# Some custom targets to make it easier to release things.
|
||||
# Use either:
|
||||
# make release-check
|
||||
# or make release-publish
|
||||
|
||||
RELEASE_UPLOAD_DIR = cairographics.org:/home/www/cairo/snapshots
|
||||
RELEASE_URL_BASE = http://cairographics.org/snapshots
|
||||
RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org
|
||||
|
||||
tar_file = $(PACKAGE)-$(VERSION).tar.gz
|
||||
md5_file = $(tar_file).md5
|
||||
|
||||
$(md5_file): $(tar_file)
|
||||
md5sum $^ > $@
|
||||
|
||||
release-remove-old:
|
||||
rm -f $(tar_file) $(md5_file)
|
||||
|
||||
release-check: release-remove-old distcheck $(md5_file)
|
||||
|
||||
release-publish: release-check
|
||||
mkdir -p releases
|
||||
scp $(tar_file) $(md5_file) $(RELEASE_UPLOAD_DIR)
|
||||
mv $(tar_file) $(md5_file) releases
|
||||
@echo ""
|
||||
@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
|
||||
@echo "including the following:"
|
||||
@echo ""
|
||||
@echo "Subject: $(PACKAGE) snapshot $(VERSION) now available"
|
||||
@echo ""
|
||||
@echo "A new $(PACKAGE) snapshot $(VERSION) is now available from:"
|
||||
@echo ""
|
||||
@echo " $(RELEASE_URL_BASE)/$(tar_file)"
|
||||
@echo " $(RELEASE_URL_BASE)/$(md5_file)"
|
||||
@echo -n " "
|
||||
@cat releases/$(md5_file)
|
||||
@echo ""
|
||||
@echo "Also, please include the new entries from the NEWS file."
|
||||
|
||||
|
|
|
|||
71
RELEASING
71
RELEASING
|
|
@ -2,38 +2,30 @@ So far, cairo hasn't reached an initial release. But we can still form
|
|||
good habits now by practicing the release process with the current
|
||||
snapshots.
|
||||
|
||||
10 easy steps to creating a new cairo snapshot
|
||||
==============================================
|
||||
A new snapshot is needed whenever significant new features or bug
|
||||
fixes are committed. Here are the steps to follow:
|
||||
|
||||
1) Commit code with a significant new feature or backwards
|
||||
incompatibility.
|
||||
1) Ensure that there are no local, uncommitted modifications. The best
|
||||
thing to do here may be to begin with a fresh checkout from CVS:
|
||||
|
||||
Either of these events triggers the need for a new snapshot.
|
||||
Users of cairo snapshots need to be able to specify snapshot
|
||||
version numbers in order to get access to a specific set of
|
||||
features.
|
||||
cvs -d cairographics.org:/cvs/cairo co cairo
|
||||
|
||||
2) Increment CAIRO_VERSION in configure.in
|
||||
But it's probably good enough if "cvs -q update -Ad" generates no
|
||||
output.
|
||||
|
||||
Right now, in its pre-release form, we are incrementing
|
||||
CAIRO_VERSION for each snapshot but we are not changing the
|
||||
libtool shared library version information. Until now, we've
|
||||
only incremented the sub-minor version. We'll invent rules for
|
||||
incrementing major and minor numbers when the time is right.
|
||||
|
||||
3) Verify that the code passes "make distcheck"
|
||||
2) Verify that the code passes "make distcheck"
|
||||
|
||||
Running "make distcheck" should result in no warnings or
|
||||
errors and end with a message of the form:
|
||||
|
||||
=============================================
|
||||
================================================
|
||||
cairo-X.Y.Z.tar.gz is ready for distribution
|
||||
=============================================
|
||||
================================================
|
||||
|
||||
(But the tar file isn't actually ready yet, as we still have
|
||||
some more steps to follow).
|
||||
|
||||
4) Fill out an entry in the NEWS file
|
||||
3) Fill out an entry in the NEWS file
|
||||
|
||||
Sift through the information in ChangeLog since the last
|
||||
snapshot. Summarize major changes briefly in a style similar
|
||||
|
|
@ -41,33 +33,38 @@ snapshots.
|
|||
incompatible changes in the API. These should be easy to find
|
||||
by looking for cairo.h in the ChangeLog.
|
||||
|
||||
4) Increment CAIRO_VERSION in configure.in
|
||||
|
||||
Right now, in its pre-release form, we are incrementing
|
||||
CAIRO_VERSION for each snapshot but we are not changing
|
||||
the libtool shared library version information. Increment the
|
||||
subminor version for bug fixes and backwards-compatible
|
||||
additions to the API. Increment the minor number (and reset
|
||||
the subminor) for backward-incompatible changes to the API
|
||||
(including removals). Leave the major number at 0 until we are
|
||||
ready for the first 1.0 release, (at which point these rules
|
||||
will change).
|
||||
|
||||
5) Commit the changes to NEWS and configure.in
|
||||
|
||||
Don't forget to fill out the ChangeLog just like with any
|
||||
other commit. It's especially important to mention the new
|
||||
version number in the ChangeLog.
|
||||
|
||||
6) Run "make distcheck" to generate the final tar file including the
|
||||
changes to NEWS and ChangeLog.
|
||||
6) Run "make release-publish" which will perform the following steps
|
||||
for you:
|
||||
|
||||
7) Copy the resulting tar file to the cairo snapshots distribution
|
||||
directory:
|
||||
* Verify that make distcheck completes successfully
|
||||
* Generate the final tar file with the correct version number
|
||||
* Generate an md5sum file
|
||||
* scp both files to cairographics.org:/home/www/cairo/snapshots
|
||||
* Place local copies of both files in the releases directory
|
||||
* Provide some text for the release announcement
|
||||
|
||||
scp cairo-X.Y.Z-tar.gz cairographics.org:/home/www/cairo/snapshots
|
||||
|
||||
8) Tag the entire source tree with a tag of the form SNAPSHOT_X_Y_Z:
|
||||
7) Tag the entire source tree with a tag of the form SNAPSHOT_X_Y_Z:
|
||||
|
||||
cvs tag SNAPSHOT_X_Y_Z
|
||||
|
||||
9) Send a message to cairo-announce@cairographics.org to announce the
|
||||
new snapshot.
|
||||
8) Send a message to cairo-announce@cairographics.org to announce the
|
||||
new snapshot using the text provided by the previous step.
|
||||
|
||||
The message should provide the URL for the snapshot:
|
||||
|
||||
http://cairographics.org/snapshots/cairo-X.Y.Z.tar.gz
|
||||
|
||||
and should also include the relevant section from the NEWS
|
||||
file.
|
||||
|
||||
10) Sit back and relax in confidence, or alternately, brace yourself
|
||||
for a flood of new bug reports.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue