docs/64144: [patch] document procedure to add a new ports category to Committer's Guide
Mark Linimon
linimon at lonesome.com
Fri Mar 12 07:10:02 UTC 2004
>Number: 64144
>Category: docs
>Synopsis: [patch] document procedure to add a new ports category to Committer's Guide
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-doc
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Mar 11 23:10:01 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Mark Linimon
>Release: FreeBSD 4.9-PRERELEASE i386
>Organization:
Lonesome Dove Computing Services
>Environment:
System: FreeBSD lonesome.lonesome.com 4.9-PRERELEASE FreeBSD 4.9-PRERELEASE #3: Thu Jan 22 20:41:05 CST 2004 root at lonesome.lonesome.com:/usr/src/sys/compile/MULTIMEDIA i386
>Description:
There is no documentation of all the steps that are involved
in creating a new ports category. The following patch, while
incomplete, is at least a first attempt at it.
Patches and other discussion (especially by the people who
have been through the exercise before) are welcomed.
>How-To-Repeat:
(n/a)
>Fix:
Index: article.sgml
===================================================================
RCS file: /mnt/FreeBSD/dcvs/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v
retrieving revision 1.180
diff -u -r1.180 article.sgml
--- article.sgml 27 Feb 2004 15:23:15 -0000 1.180
+++ article.sgml 12 Mar 2004 06:57:35 -0000
@@ -2516,6 +2516,133 @@
</qandadiv>
<qandadiv>
+ <title>Creating a New Category</title>
+
+ <qandaentry>
+ <question>
+ <para>What is the procedure for creating a new category?</para>
+ </question>
+
+ <answer>
+ <para>A developer who wishes to propose a new category
+ should submit a detailed rationale for the new category,
+ including why existing categories are not sufficient,
+ and the list of ports proposed to move.</para>
+
+ <para>Before submitting, keep in mind that there is a fair
+ amount of work involved from multiple parties; that the
+ changes affect everyone who wants to keep up-to-date with
+ the entire ports tree; and that such proposals tend to
+ attract controversy.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question>
+ <para>What do I need to do?</para>
+ </question>
+
+ <answer>
+ <para>The procedure is a strict superset of the one to
+ repocopy individual ports (see above).</para>
+
+ <para>File a PR in <application>GNATS</application>, listing the
+ reasons for the category request. Preferably, this should
+ also include patches for <filename>Makefile</filename>s for
+ the old ports, the <filename>Makefile</filename>s for their
+ old categories, and the <makevar>VALID_CATEGORIES</makevar>
+ definition in <filename>ports/Mk/bsd.port.mk</filename>.
+ Assign the PR to <literal>portmgr</literal>.
+ If &a.portmgr; approves it, it will be reassigned to
+ <literal>cvs</literal>. &a.cvs; will do a repository copy
+ from the old to the new locations, and reassign the PR back
+ to you. Once everything is done, perform the following:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>When the repocopies have been finished:</para>
+
+ <procedure>
+ <step>
+ <para>Upgrade each copied port's
+ <filename>Makefile</filename>. Do not
+ connect the new category to the build yet.</para>
+ </step>
+
+ <step>
+ <para>On your own local system, test the proposed
+ changes: first, comment out the
+ <makevar>SUBDIR</makevar> entries in the old
+ ports' categories' <filename>Makefile</filename>s;
+ then, enable the Makefile for the new category in
+ <filename>ports/Makefile</filename>.
+ Run <command>make checksubdirs</command> in the
+ affected category directories to check the
+ <makevar>SUBDIR</makevar> entries. Next, in
+ the <filename>ports/</filename> directory, run
+ <command>make index</command>. This can take
+ over 40 minutes on even modern systems; however,
+ it is a necessary step to prevent problems for
+ other people.</para>
+ </step>
+
+ <step>
+ <para>Once this is done, you can commit the
+ updated <filename>ports/Makefile</filename> to
+ connect the new category to the build; and also
+ commit the <filename>Makefile</filename> changes
+ for the old category or categories. The new
+ category's <filename>pkg/COMMENT</filename>
+ can be committed, too.</para>
+ </step>
+
+ <step>
+ <para>Change all the affected module entries.</para>
+ </step>
+
+ <step>
+ <para>Add appropriate entries to
+ <filename>ports/MOVED</filename>.</para>
+ </step>
+
+ <step>
+ <para>Update the instructions for
+ <command>cvsup(1)</command> by modifying
+ <filename>distrib/cvsup/sup/README</filename>
+ and adding the following files into
+ <filename>cvsup/sup/ports-categoryname</filename>:
+ <filename>list.cvs</filename> and
+ <filename>releases</filename>.</para>
+ </step>
+
+ <step>
+ <para>Submit a PR to add the new category to
+ the Porter's Handbook, and to add it to
+ <filename>www/en/ports/categories</filename>,
+ and assign it to <literal>docs</literal>.</para>
+ </step>
+
+ <step>
+ <para>Submit a PR to request that the web
+ page build be updated to reflect the new
+ category. The responsibility for doing this
+ is not yet well established.</para>
+ </step>
+
+ <step>
+ <para>Only once all the above have been done, and
+ no one is any longer reporting problems with the
+ new ports, should the old ports be deleted from
+ their previous locations in the repository.</para>
+ </step>
+ </procedure>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+ </qandadiv>
+
+ <qandadiv>
<title>Miscellaneous Questions</title>
<qandaentry>
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-doc
mailing list