blob: 6cf9b098c310dbd13cb0a1d7281811bdaaefdb8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# To make real stable releases or devel snapshots, use either:
# make release-check
# or make release-publish
TAR_OPTIONS = --owner=0 --group=0
RELEASE_UPLOAD_HOST = clutter-project.org
RELEASE_UPLOAD_USER = clutter
RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_USER)@$(RELEASE_UPLOAD_HOST):upload-source
RELEASE_URL_BASE = http://source.clutter-project.org/sources/clutter-gst
RELEASE_URL = $(RELEASE_URL_BASE)/$(CLUTTER_GST_MAJOR_VERSION).$(CLUTTER_GST_MINOR_VERSION)
RELEASE_ANNOUNCE_LIST = clutter-announce@clutter-project.org (Cc: gnome-announce-list@gnome.org)
tar_file = $(distdir).tar.bz2
sha256_file = $(distdir).sha256sum
$(sha256_file): $(tar_file)
$(AM_V_GEN)sha256sum $^ > $@
release-check: release-verify-even-micro release-verify-news
TAR_OPTIONS="$(TAR_OPTIONS)" $(MAKE) $(AM_MAKEFLAGS) distcheck
release-verify-news:
@echo -n "Checking that the NEWS file has been updated..."
@if ! grep -q "$(CLUTTER_GST_VERSION)" $(top_srcdir)/NEWS; then \
(echo "Ouch." && \
echo "The version in the NEWS file does not match $(CLUTTER_GST_VERSION)." && \
echo "This probably means you haven't updated the NEWS file." && \
false); else :; fi
@echo "Good."
release-verify-even-micro:
@echo -n "Checking that $(VERSION) has an even micro component..."
@test "$(CLUTTER_GST_MICRO_VERSION)" = "`echo $(CLUTTER_GST_MICRO_VERSION)/2*2 | bc`" \
|| (echo "Ouch." && \
echo "The version micro component '$(CLUTTER_GST_MICRO_VERSION)' is not an even number." && \
echo "The version in configure.ac must be incremented before a new release." && \
false)
@echo "Good."
release-upload: $(sha256_file)
@scp $(tar_file) $(RELEASE_UPLOAD_DIR)
release-message: $(sha256_file)
@echo "Release URL: $(RELEASE_URL)/$(tar_file)"
@echo "Release checksum: $(RELEASE_URL)/$(sha256_file)"
@echo "Send an email to: $(RELEASE_ANNOUNCE_LIST)"
@echo " Subject: $(PACKAGE) $(CLUTTER_GST_VERSION) ($(CLUTTER_GST_RELEASE_STATUS))"
@echo "Contents:"
@echo "--- CUT HERE ---"
@echo "A new $(PACKAGE) $(CLUTTER_GST_RELEASE_STATUS) is now available at:"
@echo ""
@echo " $(RELEASE_URL)/$(tar_file)"
@echo ""
@echo "SHA256 Checksum:"
@echo ""
@cat $(top_builddir)/$(sha256_file)
@echo ""
@echo "Additionally, a git clone of the source tree:"
@echo ""
@echo " git clone git://git.clutter-project.org/clutter-gst"
@echo ""
@echo "will include a signed $(CLUTTER_GST_VERSION) tag which points to a commit named:"
@echo " `git cat-file tag $(CLUTTER_GST_VERSION) | grep ^object | sed -e 's,object ,,'`"
@echo ""
@echo "which can be verified with:"
@echo " git verify-tag $(CLUTTER_GST_VERSION)"
@echo ""
@echo "and can be checked out with a command such as:"
@echo " git checkout -b build $(CLUTTER_GST_VERSION)"
@echo ""
@echo "--- CUT HERE ---"
release-publish: release-check
$(MAKE) $(AM_MAKEFLAGS) release-upload
$(MAKE) $(AM_MAKEFLAGS) release-message
.PHONY: \
release-check \
release-message \
release-publish \
release-upload \
release-verify-even-micro
|