1 HarfBuzz release walk-through checklist:
3 1. Open gitk and review changes since last release.
5 * `git diff $(git describe | sed 's/-.*//').. src/*.h` prints all public API
8 Document them in NEWS. All API and API semantic changes should be clearly
9 marked as API additions, API changes, or API deletions. Document
10 deprecations. Ensure all new API / deprecations are in listed correctly in
11 docs/harfbuzz-sections.txt
13 If there's a backward-incompatible API change (including deletions for API
14 used anywhere), that's a release blocker. Do NOT release.
16 2. Based on severity of changes, decide whether it's a minor or micro release
19 3. Search for REPLACEME on the repository and replace it with the chosen version
22 4. Make sure you have correct date and new version at the top of NEWS file,
24 5. Bump version in configure.ac line 3,
26 6. Do "make distcheck", if it passes, you get a tarball.
27 Otherwise, fix things and commit them separately before making release,
29 7. "make release-files". Enter your GPG password. This creates a sha256 hash
32 8. Now that you have release files built, commit NEWS and configure.ac changes,
33 as well as any REPLACEME changes you made. The commit message is simply the
34 release number. Eg. "1.4.7"
36 9. Tag the release and sign it: Eg. "git tag -s 1.4.7 -m 1.4.7". Enter your
39 10. Build win32 bundle.
41 a. Put contents of [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ) on your `~/.local/i686-w64-mingw32`,
43 b. Run `../mingw32.sh --with-uniscribe` script to configure harfbuzz with mingw
44 in a subdirector (eg. winbuild/),
48 d. Back in the parent directory, run `./UPDATE.sh`(available below) to build win32
51 11. Copy all artefacts to users.freedesktop.org and move them into
52 `/srv/www.freedesktop.org/www/software/harfbuzz/release` There should be four
55 -rw-r--r-- 1 behdad eng 1592693 Jul 18 11:25 harfbuzz-1.4.7.tar.bz2
56 -rw-r--r-- 1 behdad eng 89 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256
57 -rw-r--r-- 1 behdad eng 339 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256.asc
58 -rw-r--r-- 1 behdad eng 2895619 Jul 18 11:34 harfbuzz-1.4.7-win32.zip
61 12. While doing that, quickly double-check the size of the .tar.bz2 and .zip
62 files against their previous releases to make sure nothing bad happened.
63 They should be in the ballpark, perhaps slightly larger. Sometimes they
64 do shrink, that's not by itself a stopper.
66 13. Push the commit and tag out: "git push --follow-tags". Make sure it's
67 pushed both to freedesktop repo and github.
69 14. Go to GitHub release page [here](https://github.com/harfbuzz/harfbuzz/releases),
70 edit the tag, upload artefacts and NEWS entry and save.
79 if test "x$v" = x; then
80 echo "usage: UPDATE.sh micro-version"
84 dir_prefix=harfbuzz-1.4.
86 dir=$dir_prefix$v$dir_suffix
87 dir_old=$dir_prefix$((v-1))$dir_suffix
88 if test -d "$dir"; then
89 echo "New dir $dir exists; not overwriting"
92 if ! test -d "$dir_old"; then
93 echo "Old dir $dir_old does NOT exist; aborting"
97 cp -a "$dir_old" "$dir.tmp"
98 rm -f "$dir.tmp"/GDX32.dll
99 rm -f "$dir.tmp"/usp10.dll
100 cp ../winbuild/src/.libs/libharfbuzz-0.dll{,.def} $dir.tmp/
101 cp ../winbuild/util/.libs/hb-{shape,view}.exe $dir.tmp/
102 i686-w64-mingw32-strip $dir.tmp/{hb-shape.exe,hb-view.exe,libharfbuzz-0.dll}
105 echo Bundle $dir.zip ready