]> git.wh0rd.org - fontconfig.git/blame - new-version.sh
[xml] Remove unused code
[fontconfig.git] / new-version.sh
CommitLineData
fba7c37f
KP
1#!/bin/sh
2
b9b01b6e 3if git status -a > /dev/null; then
fba7c37f
KP
4 echo 'Uncommited changes in repository' 1>&2
5 exit 1
6fi
7
8version="$1"
9case "$version" in
102.[0-9.]*)
11 ;;
12*)
13 echo 'Invalid version number:' "$version" 1>&2
14 exit 1
15 ;;
16esac
17
18eval `echo $version |
19 awk -F. '{ printf ("major=%d\nminor=%d\nrevision=%d\n",
20 $1, $2, $3); }'`
21
22# Update the version numbers
23
51f15364 24sed -i configure.in -e "/^AM_INIT_AUTOMAKE/s/2\.[0-9.]*/$version/"
fba7c37f 25
51f15364
KP
26sed -i fontconfig/fontconfig.h \
27 -e "/^#define FC_MAJOR/s/[0-9][0-9]*/$major/" \
28 -e "/^#define FC_MINOR/s/[0-9][0-9]*/$minor/" \
29 -e "/^#define FC_REVISION/s/[0-9][0-9]*/$revision/"
fba7c37f
KP
30
31#
32# Compute pretty form of new version number
33#
34version_note=`echo $version | awk -F. '{
35 if ($3 > 90)
36 printf ("%d.%d.%d (%d.%d RC%d)\n",
37 $1, $2, $3, $1, $2 + 1, $3 - 90);
38 else if ($3 == 0)
39 printf ("%d.%d\n", $1, $2);
40 else
41 printf ("%d.%d.%d\n", $1, $2, $3); }'`
42
43#
44# Find previous version in README
45#
46last_note=`grep '^2\.[0-9.]*' README |
47 head -1 |
48 sed 's/ (2\.[0-9]* RC[0-9]*)//'`
49case $last_note in
502.*.*)
51 last=$last_note
52 ;;
532.*)
54 last="$last_note.0"
55 ;;
56*)
57 echo 'cannot find previous changelog' 1>&2
58 exit 1
59esac
60
61#
62# Format the current date for the README header
63#
64date=`date '+%Y-%m-%d'`
65
66#
67# Update the readme file
68#
69if [ $version != $last ]; then
70 #
71 # header
72 #
0b15b5f3 73 (sed '/^2\.[0-9.]*/,$d' README |
fba7c37f
KP
74 sed -e "s/Version.*/Version $version_note/" \
75 -e "s/200.*/$date/" | awk '
76 /^[ \t]/ {
77 gsub ("^[ \t]*", "");
78 gsub ("[ \t]*$", "");
79 space=(70 - length) / 2;
80 for (i = 0; i < space; i++)
81 printf (" ");
82 print
83 next
84 }
85 {
86 print
87 }'
88
89 #
90 # changelog
91 #
92
93 echo $version_note
94 echo
b9b01b6e 95 git log --pretty=short $last.. | git shortlog | cat
fba7c37f
KP
96
97 #
98 # previous changelogs
99 #
100
0b15b5f3 101 sed -n '/^2\.[0-9.]*/,$p' README) > README.tmp ||
fba7c37f
KP
102 (echo "README update failed"; exit 1)
103
51f15364 104 mv README.tmp README
fba7c37f
KP
105fi
106
b9b01b6e 107$test git commit -m"Bump version to $version" \
fba7c37f
KP
108 configure.in \
109 fontconfig/fontconfig.h \
110 README
111
112# tag the tree
76374f0e 113$test git tag -s -m "Version $version" $version
fba7c37f
KP
114
115# Make distributed change log
116
b9b01b6e 117git log --stat $last.. > ChangeLog-$version
fba7c37f 118