create policy rule later in olsrd startup
[olsrd.git] / release-howto.txt
1 cheat sheet for making a (stable) release tarball.
2
3 0. check if your name settings in .hgrc are correct. (have
4    your real name and email address in there).
5
6 1. clone a fresh tree:
7
8    $ hg clone http://gredler.at/hg/olsrd-0.5.6
9    $ hg update -C OLSRD_0_5_6_BRANCH
10
11 2. check if the DEBUG settings in Makefile.inc are correct:
12
13    DEBUG ?= 0
14    NO_DEBUG_MESSAGES ?= 1
15
16    now check if it builds correct:
17
18    $ make build_all
19
20 3. Change VERS in Makefile.inc to your target release.
21    in this example the target release is 0.5.6-r4
22
23    most likely this is carrying some pre-XXX-release tag.
24    
25    $ grep -E "^VERS" Makefile
26    VERS =          pre-0.5.6-r4
27
28    change it to
29
30    VERS =          0.5.6-r4
31
32 4. Change Version strings in
33    gui/win32/Main/Frontend.rc (line 71, around "CAPTION [...]")
34    gui/win32/Inst/installer.nsi (line 57, around "MessageBox MB_YESNO [...]")
35
36 5. Update changelog
37
38 6. commit & push
39
40 7. display the used tags: 
41    
42    $ hg tags
43    tip                             1757:77e1ccb98227
44    OLSRD_0_5_6_R3                  1728:feb3d7883ff0
45    OLSRD_0_5_6_R2                  1688:1573e530a679
46    OLSRD_0_5_6                     1669:d91b47b34ba7
47    OLSRD_0_5_6_RC7                 1644:1516480b552f
48    OLSRD_0_5_6_RC6                 1634:f1b2cdeafd74
49    OLSRD_0_5_6_RC5                 1622:99b89bb6a9a4
50    OLSRD_0_5_6_RC4                 1612:0490bdcb7910
51    OLSRD_0_5_6_RC3                 1591:c6c9571fe4d6
52    OLSRD_0_5_6_RC2                 1587:bd66c98dc4c8
53    OLSRD_0_5_6_RC1                 1526:fd8f4e49a398
54    OLSRD_0_5_5                     1460:233036647bca
55    OLSRD_0_5_5_RC1                 1452:669b81f6918e
56    OLSRD_0_5_4                     1264:60f04fc39707
57    OLSRD_0_5_3                     1158:00991ca84047
58    OLSRD_0_5_2                     1121:283effb1472c
59    OLSRD_0_5_1                     1101:c23aab9db1e1
60    OLSRD_0_5_0                      994:612f5a21a303
61    OLSRD_0_4_10                     893:a39cda38836b
62    OLSRD_0_4_9                      704:43d67c4814ef
63    OLSRD_0_4_8                      404:e9beaf82c0ea
64
65    now tag the tree (please stick to the tagging scheme).
66
67    $ hg tag OLSRD_0_5_6_R4
68
69 8. make the release tarball
70
71    $ cd scripts/
72    $ ./mk-tarball.sh
73    [ ... ]
74    ### creating /tmp/olsrd-0.5.6-r4.tar.gz
75    6c996e94de06115d19dbbcaf6847051a  /tmp/olsrd-0.5.6-r4.tar.gz
76    ### creating /tmp/olsrd-0.5.6-r4.tar.bz2
77    e476819be5747758e3d6f579e4096bce  /tmp/olsrd-0.5.6-r4.tar.bz2
78
79 9. check if everything is in the release tarball (ideally on a a
80    differnt machine) and try to build from the tarball.
81
82 10. upload the the .tgz and .bz2 tarballs to the http://www.olsr.org/downaload/0.5/
83    sectaion and add a release articel on the web.
84
85 11. Change VERS in Makefile.inc to your *next* target release.
86    in this example the next target release is pre-0.5.6-r5
87
88    change it from:
89    
90    $ grep -E "^VERS" Makefile
91    VERS =          0.5.6-r4
92
93    to
94
95    VERS =          pre-0.5.6-r5
96
97    commit & push
98
99 you are done, congratulations !