summaryrefslogtreecommitdiff
path: root/DEVELOPERS.md
blob: 5a92da85f1b00a8c802918cce4ec465ad553a4fa (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
Developers
==========

Making a release
----------------

1. Bump the version in `configure.ac`, in `AC_INIT`.

2. Update the build system. This depends on GNU autoconf and GNU automake.

    ./autogen.sh

3. Build the packages:

This all depends on a `gh-pages` branch:

    git branch gh-pages origin/gh-pages

On any system you can build the tarball, Homebrew package, Arch
PKGBUILD, and tag:

    make release_build_tarball release_build_homebrew release_build_arch \
	    release_build_tag

You need mdocml to tranform the manpages into HTML:

    make release_build_man_html

Only on Debian systems can you build the Debian package:

    make release_build_deb

If you are on a Debian system with mdocml, here is a shortcut:

    make release_build

From here you can push these:

    make release_push_tarball release_push_homebrew release_push_arch \
	    release_push_tag release_push_man_html
    make release_push_deb

Or, all at once:

    make release_push

You can clean individual steps:

    make release_clean_tarball release_clean_homebrew release_clean_arch \
      release_clean_deb release_clean_tag release_clean_man_html

Or, again, everything at once:

    make release_clean

If you are on a Debian system, have mdocml installed, have an absurd
amount of trust in the system, and know how to debug it intimately, give
everything a go:

    make release