]> git.ipfire.org Git - thirdparty/man-pages.git/blame - RELEASE
RELEASE, man-pages-6.01.Announce: Remove .Announce file
[thirdparty/man-pages.git] / RELEASE
CommitLineData
8a60be33
AC
1Instructions for releasing a new version.
2=========================================
3
4This are the instructions to release a new official version of the
5project. However, these should also be useful for those who simply want
6to package a random commit (this is done for example by Gentoo). For
7packaging a random commit without an official release, you only need
8step 5 "Tarball".
9
10
111) Version
12----------
13
14Decide the version number:
15
16 $ old=6.01
17 $ new=6.02
18
19
202) Changes
21----------
22
23Fill the Changes file. For that you can check older commits, like
24d4e80a7748 "Changes: Ready for 6.01". It needs manual intervention,
25but in that commit log you can check a few commands that will help.
26
27- Remember to change the version number, the date, and the location.
28
29- Remove any headers not used for a specific release (usually happens
30 with "New and changed links").
31
32- The structure is a bit freestyle, but keep it organized.
33 man-pages-6.00 was a huge release, so it might help to check it:
34 51228378bec7 "Changes: Ready for 6.00".
35
36- Commit:
37
38 $ git add Changes
39 $ git commit -sm "Changes: Ready for ${new}"
40
41
a15e8c33 423) Tag
8a60be33
AC
43------
44
45Create a signed tag. The tag message should note the most important
46changes in the version being released, since it will be read by users
47and packagers. It should include any information that is especially
48relevant for them. Check old tags such as 'man-pages-6.00' or
49'man-pages-6.01'.
50
51- Tag:
52
53 $ git tag -s man-pages-${new}
54
55
a15e8c33 564) Tarball
8a60be33
AC
57----------
58
59Creating the tarball will embed in the manual pages both the version
60number, and the date of last modification (in the git repository, the
61pages have placeholders for the date and the version).
62
63You need to create a set of tarballs, sign the .tar archive, and upload
64the compressed tarballs to <kernel.org>.
65
66In case you're creating a tarball for distributing a random commit, it
67might be interesting to tweak a few parameters; check the variables
68available at <lib/dist.mk>, and any makefiles included by that one.
69
70- Create the tarball:
71
72 $ make dist
73
74- Sign the tarball:
75
76 $ cd tmp/
77 $ gpg --detach-sign --armor man-pages-${new}.tar
78
79- Upload the tarball:
80
81 $ kup put man-pages-${new}.tar.xz man-pages-${new}.tar.asc \
82 /pub/linux/docs/man-pages/
dbaa5170 83 $ cd ..
8a60be33
AC
84
85
a15e8c33 865) lsm
8a60be33
AC
87------
88
89Rename the file with the version that has been released, and update the
90contents. Check old commits, like c11cb1ca844d "Ready for 6.01".
91
92- Update the version number (and also in the tarball name).
93
94- Update the release date.
95
96- Update the tarball size.
97
98- Rename the file:
99
100 $ mv man-pages-${old}.lsm man-pages-${new}.lsm
101
102- Commit:
103
104 $ git add man-pages-${old}.lsm
105 $ git add man-pages-${new}.lsm
106 $ git commit -sm "lsm: Released ${new}"
107
108- Send (email) the .lsm file to <lsm@qqx.org> with the subject "add".
109
110
a15e8c33 1116) Email
8a60be33
AC
112--------
113
114Send an announce email to linux-man, LKML, libc-alpha, and possibly
115others that might be interested in the release, such as distribution
116maintainers, or those who have contributed to the release.
117
118The email should contain a mix of the git tag message, the contents of
119Changes, and anything else that might be relevant. Check old emails
120such as
121<https://lore.kernel.org/linux-man/4ba6c215-6d28-1769-52d3-04941b962ff3@kernel.org/T/#u>.
122
123The subject of the email should be "man-pages-${new} released".
124
125
a15e8c33 1267) Changes.old
8a60be33
AC
127--------------
128
129Move the contents of Changes to Changes.old, and prepare for the next
130release.
131
132- Copy contents of Changes to Changes.old:
133
134 $ (echo; echo) >> Changes.old
135 $ cat Changes >> Changes.old
136
137- Empty Changes:
138
139 $ git checkout man-pages-${new}^^ -- Changes
140
141- Commit:
142
143 $ git add Changes Changes.old
144 $ git commit -sm "Start of man-pages-NEXT: Move Changes to Changes.old"
2788d24f
AC
145
146
a15e8c33 1478) Push
2788d24f
AC
148-------
149
150You've finished. When you confirm it's good, push to the git repository.
151
152- Push:
153
154 $ git push
155 $ git push man-pages-${new}