(no commit message)
[ikiwiki.git] / docs / developer / Release / index.mdwn
1 #The art of releasing
2
3 This is a template on how to do a release.
4
5 ##Branching
6
7 On crater branch the repo:
8
9     cd /repository/git/dragonfly.git
10     git branch DragonFly_RELEASE_x_y        (e.g. 2_8)
11
12 Check out two copies of /usr/src, one with master checked out, one with the new release branch checked out.  Checkouts should be under your user id, NOT as root, or the later tagging operation will be unhappy.
13
14 On the new branch:
15
16     vi sys/sys/param.h      
17
18 Edit \__DragonFly\_version and related comments.  Be sure to add a comment for the new master too (but the version is set to the new release).
19
20     vi sys/conf/newvers.sh  
21
22 Edit BRANCH, use 'RELEASE', update version.  e.g. RELEASE_2_8
23
24 On master
25
26     vi sys/sys/param.h
27
28 Edit \__DragonFly\_version and related comments.
29
30     vi sys/conf/newvers.sh  
31
32 Edit BRANCH, use 'DEVELOPMENT', update version.
33
34 ##Tagging
35
36 Make sure all changes on the master branch and on the new branch have been committed and pushed before tagging anything.
37
38 man git-tag for info, the committer needs GPG set up so git tag -s works.  Then you can use your own checkout.  Be sure the checkouts are under your user id and you do the tagging as yourself instead of as root.
39
40 ###In master
41
42     git tag -s -m "DragonFly 2.x.x" v2.x.x
43     git push --tags
44
45 ###In the new branch
46
47     git tag -s -m "DragonFly 2.x.x" v2.x.x
48     git push --tags
49
50 Do the x.x.0 immediately.  Just before doing the final nrelease build roll a x.x.1 tag for the release branch.  Release as x.x.1.
51
52 ##Pkgsrc 
53
54 Adjust bulk builds to the release's pkgsrc branch, and make sure they upload to the right directories on avalon.dragonflybsd.org.
55
56 Adjust the default pkgsrc checkout in /usr/src/etc/Makefile.usr for both master and the new branch if necessary.
57
58
59 ###build isos and imgs
60
61 ###build pkgsrc packages
62
63 ###testing
64
65 i386 iso, img, gui-img
66 x86_64 iso, img, gui-img
67
68
69 booting install media
70
71 installing, encrypted, unencrypted, ufs, hammer
72
73 configuring in the installer
74
75 booting installed system
76
77 testing on real hardware, qemu, vmware
78
79 ###write release notes
80
81 ###copy to mirror master
82
83 ###announce
84 users@, web page