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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
<document>
<header>
<title>FOP Development: Release Mechanics</title>
<version>$Revision$</version>
</header>
<body>
<section id="intro">
<title>Introduction</title>
<p>This page documents the process of creating a FOP release.
FOP releases are coordinated by one member of the team (currently Christian Geisert), so others do not ordinarily need to use this information.
The purpose of documenting it here is to facilitate consistency, ensure that the process is captured, and to allow others to comment on the process.</p>
<p>The checklist below was assembled from Christian Geisert's notes. It will be expanded in the future as he has time.</p>
</section>
<section id="checklist">
<title>Checklist</title>
<ul>
<li>Determine whether this is a Release Candidate or a Release.</li>
<li>Determine whether further testing is required.</li>
<li>Commit any outstanding changes</li>
<li>Create a branch called <code>branches/fop-v_vv</code></li>
<li>Edit release notes (<code>README</code> and
<code>status.xml</code> in the root).</li>
<li>Add the release to <code>news-data.xml</code>;
remove links to release notes of older versions from this file.</li>
<li>Update the FAQ (<code>faq.xml</code>) to the new release.</li>
<li>Check and update the copyright year in NOTICE and build.xml.</li>
<li>Update the file <code>doap.rdf</code>, and the files
<code>index.xml</code>, <code>site.xml</code>,
<code>download.xml</code>, <code>fo.xml</code>,
<code>maillist.xml</code>, <code>quickstartguide.xml</code>,
<code>faq.xml</code> and <code>status.xml</code>
in directory <code>xdocs</code> for the new version.</li>
<li>Update the version numbers in the release column on the
compliance page (<code>compliance.xml</code>); update the compliance in the release column
to the current state (development column).</li>
<li>Update version number in <code>build.xml</code> (not to be merged back
into trunk).</li>
<li>Copy trunk documentation directory to a new directory with
the new version number, and update the .htaccess file for
redirections.</li>
<li>Copy <code>test/fotree/disabled-testcases.xml</code> and
<code>test/layoutengine/disabled-testcases.xml</code> to the
new version directory
<code><version>/fotree/disabled-testcases.xml</code> and
<code><version>/layoutengine/disabled-testcases.xml</code>.
Copy <code>known-issues.xml</code> to the new version
directory. Copy <code>knownissues-overview.xml</code> from the
current to the new version directory, and update the <code>xi:include</code>
links in it.</li>
<li>Update the tab names and directories in tabs.xml</li>
<li>Delete the previous version directory.</li>
<li>Update index.xml in the new version directory.</li>
<li>Build the dist files (<code>build[.sh] dist</code>)
and upload them to your web directory on
<code>people.apache.org</code></li>
<li>Ask on fop-dev to check the branch and the generated dist
files for errors.</li>
<li>Tag the source tree with the release ID. For example, if the release is 1.0:
<code>svn copy https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/fop-1_0 https://svn.apache.org/repos/asf/xmlgraphics/fop/tags/fop-1_0</code></li>
<li>Make a fresh checkout with the just created tag:
<code>svn co https://svn.apache.org/repos/asf/xmlgraphics/fop/tags/fop-1_0</code></li>
<li>Copy jimi and jai to lib/ (jimi-1.0.jar, jai_core.jar, jai_codec.jar)</li>
<li>Copy jce-jdk13-119.jar from <link href="http://www.bouncycastle.org/latest_releases.html">
from http://www.bouncycastle.org/latest_releases.html</link> to lib/</li>
<li>Copy the hyphenation patterns jar file
<code>fop-hyph.jar</code> to lib/ (e.g. from
<code>http://sourceforge.net/projects/offo</code></li>
<li>Alternatively, create a build-local.properties file that points to the above libs.</li>
<li>Run build[.sh] dist. Do this using Sun JDK 1.4.2_08 or later. A Forrest installation is needed.</li>
<li>Create signatures. Don't forget to upload your KEY:
<code>gpg -a -b --force-v3-sigs fop-1.0-src.tar.gz</code> etc.</li>
<li>Upload the dist and signature files to your web directory
on people.apache.org (An account on minotaur is needed):
<code>scp fop-1.0*.tar.gz*
chrisg@people.apache.org:public_html/</code></li>
<li>Check permissions:
<code>chmod 664 ... ; chgrp xmlgraphics ...</code></li>
<li>Add MD5 sums: <code>md5 fop-1.0-src.tar.gz >
fop-1.0-src.tar.gz.md5</code> etc.</li>
<li>Make a test download.</li>
<li>Start a vote for the release on
<code>general@xmlgraphics.a.o</code>. The message should point
to the release files and list the MD5 sums (<code>cat
*.md5</code>). The vote is open for 72hrs.</li>
<li>When the release is accepted, copy the release files,
their md5 sum files and the signature files to
/www/www.apache.org/dist/xmlgraphics/fop/ in the
subdirectories <code>source</code> and
<code>binaries</code>. Create links to all files in the
<code>fop</code> directory. Remove the links to the files of
the previous version.</li>
<li>Update HEADER.html and README.html in people.apache.org:/www/www.apache.org/dist/xmlgraphics/fop/</li>
<li>Wait 24 hours (for the mirrors to catch up).</li>
<li>Merge the changes of the subversion release branch back
into trunk (not the version number in the build file) and
delete the branch.</li>
<li>Deploy the updated documentation to the FOP website.</li>
<li>Post announcements on fop-dev and fop-user and other related mailing lists.</li>
<li>Ask a Bugzilla admin (Christian Geisert) to add a bugzilla
entry for the new release id, or create an issue at
<code>https://issues.apache.org/jira/browse/INFRA</code>.</li>
</ul>
</section>
<section id="other-checklists">
<title>Resources</title>
<p>The following is a sample of some other project release checklists, which might be consulted for ideas:</p>
<ul>
<li><jump href="http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk/MAINTAIN">Apache Batik</jump></li>
<li><jump href="http://svn.apache.org/repos/asf/ant/core/trunk/ReleaseInstructions">Apache Ant</jump></li>
<li><jump href="http://jakarta.apache.org/cactus/participating/release_checklist.html">Apache Cactus</jump></li>
</ul>
<p>Following are links with information about mirroring:</p>
<ul>
<li><jump href="http://www.apache.org/dev/mirrors.html">Apache Mirroring</jump></li>
<li>Stefan Bodewig's <jump href="http://people.apache.org/~bodewig/mirror.html">Making your Downloads Mirrorable</jump></li>
</ul>
</section>
<section id="announcements">
<title>Announcing the release</title>
<p>Here's a collected list of places where to announce new FOP releases:</p>
<ul>
<li>fop-dev@xmlgraphics.apache.org</li>
<li>fop-users@xmlgraphics.apache.org</li>
<li>general@xmlgraphics.apache.org</li>
<li>general@xml.apache.org</li>
<li>announce@apache.org (from your apache.org address)</li>
<li>xsl-list@lists.mulberrytech.com (subscriber-only)</li>
<li>XSL-FO@yahoogroups.com (subscriber-only)</li>
<li>www-xsl-fo@w3.org</li>
<li>docbook-apps@lists.oasis-open.org (subscriber-only)</li>
<li>dita-users@yahoogroups.com (subscriber-only) (http://dita-ot.sourceforge.net/)</li>
<li>http://xslfo-zone.com/news/index.jsp</li>
<li>http://www.w3.org/Style/XSL/</li>
<li>http://freshmeat.net/projects/fop/</li>
<li>any others?</li>
</ul>
</section>
</body>
</document>
|