* RCS Date string in <date>
* Add year to <copyright> * Explain how you can use CVSup to download the PR database, and then teach a local copy of GNATS about the files you've installed, to make it easier to query them without being online all the time. Prompted by Warner's query on -committers last month. Doing this is actually fairly trivial, but I figure a lot of you'll benefit from it. * Change some &prompt.user; to &prompt.root; (as far as I can see, you need to run the commands as root). * Update a link to point to the Porter's Handbook.
This commit is contained in:
parent
949a109473
commit
d3d532c64f
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=7308
2 changed files with 220 additions and 24 deletions
|
@ -16,10 +16,11 @@
|
|||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<pubdate>September 1999</pubdate>
|
||||
<pubdate>$Date: 2000-06-08 18:12:54 $</pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>1999-2000</year>
|
||||
<year>1999</year>
|
||||
<year>2000</year>
|
||||
<holder>The FreeBSD Documentation Project</holder>
|
||||
</copyright>
|
||||
|
||||
|
@ -287,6 +288,103 @@
|
|||
<para>&man.send-pr.1;</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>You can run a local copy of GNATS, and then integrate the FreeBSD
|
||||
GNATS tree in to it using CVSup. Then you can run GNATS commands
|
||||
locally, or us other interfaces, such as <command>tkgnats</command>.
|
||||
This lets you query the PR database without needing to be connected to
|
||||
the Internet.</para>
|
||||
|
||||
<procedure>
|
||||
<title>Using a local GNATS tree</title>
|
||||
|
||||
<step>
|
||||
<para>If you are not already downloading the GNATS tree, add this line
|
||||
to your <filename>supfile</filename>, and re-sup.</para>
|
||||
|
||||
<programlisting>gnats release=current prefix=/usr</programlisting>
|
||||
|
||||
<para>This will place the FreeBSD GNATS tree in
|
||||
<filename>/usr/gnats</filename>. You can use a
|
||||
<emphasis>refuse</emphasis> file to control which categories to
|
||||
receive. For example, to only receive <literal>docs</literal> PRs,
|
||||
put this line in
|
||||
<filename>/usr/local/etc/cvsup/sup/refuse</filename><footnote>
|
||||
<para>The precise path depends on the <literal>*default
|
||||
base</literal> setting in your
|
||||
<filename>supfile</filename>.</para>
|
||||
</footnote>.</para>
|
||||
|
||||
<programlisting>gnats/[a-ce-z]*</programlisting>
|
||||
|
||||
<para>The rest of this examples assume you have only supped the
|
||||
<literal>docs</literal> category. Adjust them as necessary,
|
||||
depending on the categories you are synching.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Install the GNATS port from
|
||||
<filename>ports/databases/gnats</filename>. This will place the
|
||||
various GNATS directories under
|
||||
<filename>$PREFIX/share/gnats</filename>.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Symlink the GNATS directories you are supping under the version
|
||||
of GNATS you have installed.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/local/share/gnats/gnats-db</userinput>
|
||||
&prompt.root; <userinput>ln -s /usr/gnats/docs</userinput></screen>
|
||||
|
||||
<para>Repeat as necessary, depending on how many GNATS categories you
|
||||
are synching.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Update the GNATS <filename>categories</filename> file with these
|
||||
cageories. The file is
|
||||
<filename>$PREFIX/share/gnats/gnats-db/gnats-adm/categories</filename>.</para>
|
||||
|
||||
<programlisting># This category is mandatory
|
||||
pending:Category for faulty PRs:gnats-admin:
|
||||
#
|
||||
# FreeBSD categories
|
||||
#
|
||||
docs:Documentation Bug:nik:</programlisting>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Run <filename>$PREFIX/libexec/gnats/gen-index</filename> to
|
||||
recreate the GNATS index. The output has to be redirected to
|
||||
<filename>$PREFIX/share/gnats/gnats-db/gnats-adm/index</filename>.
|
||||
You can do this periodically from &man.cron.8;, or run &man.cvsup.1;
|
||||
from a shell script that does this as well.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/usr/local/libexec/gnats/gen-index \
|
||||
> /usr/local/share/gnats/gnats-db/gnats-adm/index</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Test the configuration by querying the PR database. This
|
||||
command shows open <literal>docs</literal> PRs.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>query-pr -c docs -s open</userinput></screen>
|
||||
|
||||
<para>Other interfaces, like
|
||||
<filename>ports/databases/tkgnats</filename> should also work
|
||||
nicely.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Pick a PR and close it.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<note>
|
||||
<para>This procedure only works to allow you to view and query the PRs
|
||||
locally. To edit or close them you will still have to log in to
|
||||
<hostid>freefall</hostid> and do it from there.</para>
|
||||
</note>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="people">
|
||||
|
@ -894,18 +992,18 @@
|
|||
and packages correctly. This is the recommended
|
||||
sequence:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>make install</userinput>
|
||||
&prompt.user; <userinput>make package</userinput>
|
||||
&prompt.user; <userinput>make deinstall</userinput>
|
||||
&prompt.user; <userinput>pkg_add <replaceable>package you built above</replaceable></userinput>
|
||||
&prompt.user; <userinput>make deinstall</userinput>
|
||||
&prompt.user; <userinput>make reinstall</userinput>
|
||||
&prompt.user; <userinput>make package</userinput>
|
||||
<screen>&prompt.root; <userinput>make install</userinput>
|
||||
&prompt.root; <userinput>make package</userinput>
|
||||
&prompt.root; <userinput>make deinstall</userinput>
|
||||
&prompt.root; <userinput>pkg_add <replaceable>package you built above</replaceable></userinput>
|
||||
&prompt.root; <userinput>make deinstall</userinput>
|
||||
&prompt.root; <userinput>make reinstall</userinput>
|
||||
&prompt.root; <userinput>make package</userinput>
|
||||
</screen>
|
||||
|
||||
<para>The Handbook's
|
||||
<ulink url="../handbook/porting.html">porting
|
||||
section</ulink> contains more detailed
|
||||
<para>The
|
||||
<ulink url="../porters-handbook/index.html">Porters
|
||||
Handbook</ulink> contains more detailed
|
||||
instructions.</para>
|
||||
|
||||
<para>Use &man.portlint.1; to check the syntax of the port.
|
||||
|
|
|
@ -16,10 +16,11 @@
|
|||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<pubdate>September 1999</pubdate>
|
||||
<pubdate>$Date: 2000-06-08 18:12:54 $</pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>1999-2000</year>
|
||||
<year>1999</year>
|
||||
<year>2000</year>
|
||||
<holder>The FreeBSD Documentation Project</holder>
|
||||
</copyright>
|
||||
|
||||
|
@ -287,6 +288,103 @@
|
|||
<para>&man.send-pr.1;</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>You can run a local copy of GNATS, and then integrate the FreeBSD
|
||||
GNATS tree in to it using CVSup. Then you can run GNATS commands
|
||||
locally, or us other interfaces, such as <command>tkgnats</command>.
|
||||
This lets you query the PR database without needing to be connected to
|
||||
the Internet.</para>
|
||||
|
||||
<procedure>
|
||||
<title>Using a local GNATS tree</title>
|
||||
|
||||
<step>
|
||||
<para>If you are not already downloading the GNATS tree, add this line
|
||||
to your <filename>supfile</filename>, and re-sup.</para>
|
||||
|
||||
<programlisting>gnats release=current prefix=/usr</programlisting>
|
||||
|
||||
<para>This will place the FreeBSD GNATS tree in
|
||||
<filename>/usr/gnats</filename>. You can use a
|
||||
<emphasis>refuse</emphasis> file to control which categories to
|
||||
receive. For example, to only receive <literal>docs</literal> PRs,
|
||||
put this line in
|
||||
<filename>/usr/local/etc/cvsup/sup/refuse</filename><footnote>
|
||||
<para>The precise path depends on the <literal>*default
|
||||
base</literal> setting in your
|
||||
<filename>supfile</filename>.</para>
|
||||
</footnote>.</para>
|
||||
|
||||
<programlisting>gnats/[a-ce-z]*</programlisting>
|
||||
|
||||
<para>The rest of this examples assume you have only supped the
|
||||
<literal>docs</literal> category. Adjust them as necessary,
|
||||
depending on the categories you are synching.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Install the GNATS port from
|
||||
<filename>ports/databases/gnats</filename>. This will place the
|
||||
various GNATS directories under
|
||||
<filename>$PREFIX/share/gnats</filename>.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Symlink the GNATS directories you are supping under the version
|
||||
of GNATS you have installed.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/local/share/gnats/gnats-db</userinput>
|
||||
&prompt.root; <userinput>ln -s /usr/gnats/docs</userinput></screen>
|
||||
|
||||
<para>Repeat as necessary, depending on how many GNATS categories you
|
||||
are synching.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Update the GNATS <filename>categories</filename> file with these
|
||||
cageories. The file is
|
||||
<filename>$PREFIX/share/gnats/gnats-db/gnats-adm/categories</filename>.</para>
|
||||
|
||||
<programlisting># This category is mandatory
|
||||
pending:Category for faulty PRs:gnats-admin:
|
||||
#
|
||||
# FreeBSD categories
|
||||
#
|
||||
docs:Documentation Bug:nik:</programlisting>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Run <filename>$PREFIX/libexec/gnats/gen-index</filename> to
|
||||
recreate the GNATS index. The output has to be redirected to
|
||||
<filename>$PREFIX/share/gnats/gnats-db/gnats-adm/index</filename>.
|
||||
You can do this periodically from &man.cron.8;, or run &man.cvsup.1;
|
||||
from a shell script that does this as well.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/usr/local/libexec/gnats/gen-index \
|
||||
> /usr/local/share/gnats/gnats-db/gnats-adm/index</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Test the configuration by querying the PR database. This
|
||||
command shows open <literal>docs</literal> PRs.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>query-pr -c docs -s open</userinput></screen>
|
||||
|
||||
<para>Other interfaces, like
|
||||
<filename>ports/databases/tkgnats</filename> should also work
|
||||
nicely.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Pick a PR and close it.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<note>
|
||||
<para>This procedure only works to allow you to view and query the PRs
|
||||
locally. To edit or close them you will still have to log in to
|
||||
<hostid>freefall</hostid> and do it from there.</para>
|
||||
</note>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="people">
|
||||
|
@ -894,18 +992,18 @@
|
|||
and packages correctly. This is the recommended
|
||||
sequence:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>make install</userinput>
|
||||
&prompt.user; <userinput>make package</userinput>
|
||||
&prompt.user; <userinput>make deinstall</userinput>
|
||||
&prompt.user; <userinput>pkg_add <replaceable>package you built above</replaceable></userinput>
|
||||
&prompt.user; <userinput>make deinstall</userinput>
|
||||
&prompt.user; <userinput>make reinstall</userinput>
|
||||
&prompt.user; <userinput>make package</userinput>
|
||||
<screen>&prompt.root; <userinput>make install</userinput>
|
||||
&prompt.root; <userinput>make package</userinput>
|
||||
&prompt.root; <userinput>make deinstall</userinput>
|
||||
&prompt.root; <userinput>pkg_add <replaceable>package you built above</replaceable></userinput>
|
||||
&prompt.root; <userinput>make deinstall</userinput>
|
||||
&prompt.root; <userinput>make reinstall</userinput>
|
||||
&prompt.root; <userinput>make package</userinput>
|
||||
</screen>
|
||||
|
||||
<para>The Handbook's
|
||||
<ulink url="../handbook/porting.html">porting
|
||||
section</ulink> contains more detailed
|
||||
<para>The
|
||||
<ulink url="../porters-handbook/index.html">Porters
|
||||
Handbook</ulink> contains more detailed
|
||||
instructions.</para>
|
||||
|
||||
<para>Use &man.portlint.1; to check the syntax of the port.
|
||||
|
|
Loading…
Reference in a new issue