doc/en/projects/gnats4/index.sgml
2004-01-15 12:49:00 +00:00

316 lines
9.5 KiB
Text

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY projectbase "http://people.freebsd.org/~ceri/gnats4">
<!ENTITY date "$FreeBSD: www/en/projects/gnats4/index.sgml,v 1.4 2004/01/15 12:44:03 ceri Exp $">
<!ENTITY title "FreeBSD GNATS Upgrade">
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
<!ENTITY % developers SYSTEM "../../developers.sgml"> %developers;
<!ENTITY unassigned "Unassigned">
<!-- Originally based on www/en/projects/mips/index.sgml -->
<!-- Please pass all changes through ceri@FreeBSD.org -->
<!ENTITY imagebase "&base;/gifs">
<!-- XXX: workaround for SGML expansion. -->
<!ENTITY nbsp SDATA "[nbsp ]">
<!-- Status levels -->
<!ENTITY status.blank "&nbsp;">
<!ENTITY status.blocked "<img src='&imagebase;/blocked.png' width='22' height='22' alt='Blocked'>">
<!ENTITY status.done "<img src='&imagebase;/done.png' width='22' height='22' alt='Done'>">
<!ENTITY status.new "<img src='&imagebase;/not_started.png' width='22' height='22' alt='Not Started'>">
<!ENTITY status.n-a "<img src='&imagebase;/not_planned.png' width='22' height='22' alt='Not Planned'>">
<!ENTITY status.wip "<img src='&imagebase;/in_progress.png' width='22' height='22' alt='In progress'>">
<!-- Ugly, but saves time. -->
<!ENTITY a.bugbusters.subscribe "<a href='mailto:freebsd-bugbusters-subscribe@FreeBSD.org'>freebsd-bugbusters-subscribe@FreeBSD.org</a>">
<!ENTITY a.bugbusters "<a href='mailto:freebsd-bugbusters@FreeBSD.org'>freebsd-bugbusters@FreeBSD.org</a>">
]>
<html>
<head>
<title>&title;</title>
<link rel="stylesheet" href="./style.css">
</head>
<body bgcolor="#ffffff">
<img src="&imagebase;/project_goal.png" width="229" height="36"
alt="Project Goal">
<p class="main">The aim of this project is to get the FreeBSD bug
tracking system upgraded from GNATS3 to GNATS4 with the minimum
outage, disruption and breakage.</p>
<p class="main">This turns out to be reasonably easy, as long as
the interdependencies on the FreeBSD project's machines are
understood. The main aim of this page is to provide a place for
documentation of these dependencies, along with the steps required
for a successful upgrade and the order in which they should be
taken. A secondary aim is to assure interested parties that work
on this <em>is</em> ongoing, but is non-trivial.</p>
<img src="&imagebase;/project_plan.png" width="229" height="36"
alt="Project Plan">
<p class="main">Initially, development is being done on the
bugmeister's local machine, but pertinent patches will be made
available at <a href="&projectbase;">&projectbase;</a> as they
are deemed ready.</p>
<img src="&imagebase;/how_to_contribute.png" width="229" height="36"
alt="How to Contribute">
<p class="main">The vast majority of the work involved will require
direct access to the FreeBSD cluster of machines, with elevated
privileges. However, there are some patches that need to be
written, so check the table below to see what still needs to be
done. If you have specific queries or patches to contribute, then
please contact
<a href="mailto:bugmeister@FreeBSD.org">bugmeister@FreeBSD.org</a>
with details of how you can help.</p>
<p class="main">If you notice that a task is missing from the list,
then please do get in touch with the Bugmeister and let me
know!</p>
<img src="&imagebase;/resources_and_links.png" width="229" height="36"
alt="Resources and Links">
<ul class="list">
<li><p>Documentation for GNATS3 is available at
<a href="http://www.gnu.org/software/gnats/doc/3_113_1/index.html">
http://www.gnu.org/software/gnats/doc/3_113_1/index.html.</a></p></li>
<li><p>Documentation for GNATS4 is available at
<a href="http://www.gnu.org/software/gnats/doc/4_0_beta_snapshot/index.html">
http://www.gnu.org/software/gnats/doc/4_0_beta_snapshot/index.html.</a></p></li>
<li><p><a name="mailinglist">Discussion relating to</a>
this project should be directed to the &a.bugbusters; mailing list.
To subscribe to the list, send a message to &a.bugbusters.subscribe;.</p></li>
</ul>
<img src="&imagebase;/status_board.png" width="229" height="36"
alt="Status Board"><br><br>
<!-- Tasks should be sorted in order in which we expect/need them
to happen. -->
<p class="main">These tasks need to be completed before the upgrade
can be started.</p>
<table border="3" cellpadding="2" cellspacing="0">
<tr>
<th class="heading"> Task </th>
<th class="heading"> Responsible </th>
<th class="heading"> Last&nbsp;Updated </th>
<th class="heading"> Status </th>
<th class="heading"> Notes </th>
</tr>
<tr>
<td> Patch the databases/gnats4 port for WANT_FREEFALL_CFG. </td>
<td> &a.ceri; </td>
<td> 14 January 2004 </td>
<td> &status.done; </td>
<td> <a href="&projectbase;/port/">Patches</a> </td>
</tr>
<tr>
<td> Commit the database/gnats4 patches. </td>
<td> &a.ceri; </td>
<td> 14 January 2004 </td>
<td> &status.wip; </td>
<td> Awaiting maintainer. It is also intended to wait for one
month after commit for shakeout. </td>
</tr>
<tr>
<td> Produce patches for www/en/cgi/query-pr.cgi and
www/en/cgi/query-pr-summary.cgi to work with GNATS 4. </td>
<td> &unassigned; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Produce configuration files for the new database. </td>
<td> &a.ceri; </td>
<td> 14 January 2004 </td>
<td> &status.done; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Set a date! </td>
<td> &a.ceri; </td>
<td> &nbsp; </td>
<td> &status.blocked; </td>
<td> Blocked on the CGI patches </td>
</tr>
<tr>
<td> Create /c/gnats/README.GNATS4 on freefall </td>
<td> &a.ceri; </td>
<td> &nbsp; </td>
<td> &status.blocked; </td>
<td> This is intended to notify users who cvsup the gnats
database that an upgrade is forthcoming. Should be created
one month before the upgrade happens. Blocked on setting of
the date. </td>
</tr>
<tr>
<td> Arrange resource from admins@, or root access to freefall,
www and hub. </td>
<td> &a.ceri; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
</table><br><br>
<p class="main">These tasks list the steps that must be taken during
the upgrade itself.</p>
<table border="3" cellpadding="2" cellspacing="0">
<tr>
<th class="heading"> Task </th>
<th class="heading"> Machines </th>
<th class="heading"> Notes </th>
</tr>
<tr>
<td> Pre-build databases/gnats4. </td>
<td> freefall, hub and www. </td>
<td> freefall must have WANT_FREEFALL_CFG defined in
/etc/make.conf. </td>
</tr>
<tr>
<td> Stop mail coming into the gnats account. </td>
<td>hub</td>
<td> It's desirable to have incoming mail written to a temporary
file while the upgrade is in progress so that submissions can
be re-queued once it's complete. </td>
</tr>
<tr>
<td> Comment out all the jobs in the gnats crontab.</td>
<td>freefall</td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Chmod 000 /c/gnats/gnats-adm/locks to stop further edits.</td>
<td>freefall</td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Make a backup of /c/gnats. </td>
<td>freefall</td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Commit the cgi patches. </td>
<td> N/A </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> pkg_delete the gnats3 port </td>
<td> freefall </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Install the gnats4 port, install the new config </td>
<td> freefall </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Submit test PRs with queue-pr. Make test edits, etc. </td>
<td> freefall </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> pkg_delete the gnats3 port </td>
<td> hub </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Install the gnats4 port </td>
<td> hub </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Queue a test PR on hub, and force file it on freefall </td>
<td>hub, freefall</td>
<td> &nbsp; </td>
</tr>
<tr>
<td> pkg_delete the gnats3 port </td>
<td> www </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Install the gnats4 port </td>
<td> www </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Re-enable email submission </td>
<td> hub </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Re-enable cronjobs </td>
<td> freefall </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Re-queue backed up submissions </td>
<td> freefall </td>
<td> &nbsp; </td>
</tr>
</table><br><br>
<table border="3" cellpadding="2" cellspacing="0">
<tr>
<th colspan="2" class="heading">Legend</th>
</tr><tr>
<td> &status.new; </td>
<td> Not yet started </td>
</tr><tr>
<td> &status.blocked; </td>
<td> Blocked awaiting completion of another task </td>
</tr><tr>
<td> &status.wip; </td>
<td> Work in progress </td>
</tr><tr>
<td> &status.done; </td>
<td> Task completed </td>
</tr><tr>
<td> &status.n-a; </td>
<td> Not planned </td>
</tr>
</table>
<p><small>The original layout for this web page was borrowed from
the FreeBSD C99 Project.</small></p>
&footer;
</body>
</html>