4 When releasing a new version
5 ----------------------------
7 1. Tasks in the elinks module (part 1):
9 - Go over the changes since the last release. Use git-shortlog as a template.
10 Write a small changelog highlighting the most important changes. Changes
11 by new contributors are always important!
12 - Update NEWS file and commit. Remember to add the new version number!
13 Don't add the release date yet though; you will add it in a later step.
14 - Change VERSION in the top of configure.in to hold the new version number.
15 - Update the manpages so the will have the new release number by first
16 building the source, followed by making the `update-man' target in doc/.
17 - Update po files by running `make update-po` in po/`.
18 - Commit these changes.
19 - Create a signed tag having the version ("ELinks X.X.X") as the subject and
20 using the changelog create above as the body. Use something like:
22 $ git tag -s -F changelog.file elinks-X.X.X
24 - Run script to create new tarballs (both .gz and .bz2).
26 $ contrib/mkdist -g "$PWD/.git" -r elinks-X.X.X -l X.X.X
28 This step also builds the elinks binary and documentation based on
29 the label, and that might fail because of some bug, so it's best to
30 do this before pushing anything.
32 - Create ASCII armored signature files.
34 $ gpg -b --armor elinks-X.X.X.tar.bz2
35 $ gpg -b --armor elinks-X.X.X.tar.gz
37 - Append ".GIT" to the VERSION variable in the top of configure.in.
38 - Commit only this change.
39 - Push these changes plus tag using:
42 $ git push tag elinks-X.X.X
44 2. Tasks on http://elinks.cz/ (part 1):
46 - Wait until the tag etc. has been synced or force a sync of the repository
47 at http://elinks.cz/elinks.git/.
49 3. Tasks on localhost:
51 - Copy the elinks-X.X.X.tar.* files to http://elinks.cz/download/.
52 - Send announcement to elinks-users mailing list. Do not format it
53 as multipart/signed because the linuxfromscratch archive does not
54 display such messages properly.
55 - Wait for the announcement to hit the elinks-users mailing list archive.
57 4. Tasks in the elinks module (part 2):
59 - Add the release date from the mailing list archive to NEWS.
60 - Commit and push that change.
62 5. Tasks in the elinks-web module:
64 - Change the version and release data in the start of website.conf.
65 Also change download.txt if necessary.
66 - Add paraphrased version of the first paragraph of the release announcement
67 as a news entry in news/latest.txt. Make the entry link to both the
68 archived announcement from linuxfromscratch.org and gmane.org using the
69 "magic numbers" expanded by the macro. Possibly, move the cut-off markers
70 that control which news entries to display on the front page.
71 - Rebuild index.html, download.html, news.html, news.rss, and release.html.
72 - Update bugzilla/milestones/elinks.html if the release corresponds
73 to a reached milestone.
74 - Commit the updates HTML and asciidoc files.
77 6. Tasks on http://elinks.cz/ (part 2):
79 - Wait until the elinks-web module has been synced or force a sync of the
81 - Checkout the new updated webpages.
83 7. Tasks on http://bugzilla.elinks.cz/:
85 - Add the new version.
86 - Add a comment to each bug fixed in this version. If some of them
87 are already VERIFIED, change them to CLOSED, unless they are also
88 waiting for a release in another branch.
90 8. Tasks external sites and resources:
92 - Add a new release to the freshmeat.net page.
93 - Change topic of #elinks
94 - (Request update of FSFs free software directory).
95 - (Update current version on wikipedia).
97 When releasing a new stable branch
98 ----------------------------------
100 (I only vaguely remember this process. --jonas)
102 1. Tasks on localhost:
104 - Locally clone the freezed repository to a new repository that will contain
105 the new stable branch.
106 - Unfreeze the repository that was cloned by changing the VERSION variable in
107 configure.in to the version of the new unstable branch (remember the
108 ending ".GIT"), commit, and push.
109 - Add new remote branch that will track the new stable "trunk". It should
110 basically be the push URL of the cloned repository with "#elinks-X.X"
112 - Push to this new remote branch to create it.
113 - Perform the normal version release tasks described above in this new
116 2. Tasks on http://elinks.cz/:
118 - Update http://elinks.cz/download/*-current-* tarball links to point to the
121 3. Tasks external sites and resources:
123 - Add a new branch to the freshmeat.net page.