Wed Jun 6 07:39:07 2012 UTC ()
Document that new packages should be 'cvs add'ed instead of imported.
Per the discussion on tech-pkg.


(wiz)
diff -r1.24 -r1.25 pkgsrc/doc/guide/files/submit.xml

cvs diff -r1.24 -r1.25 pkgsrc/doc/guide/files/submit.xml (expand / switch to unified diff)

--- pkgsrc/doc/guide/files/submit.xml 2009/09/17 18:01:18 1.24
+++ pkgsrc/doc/guide/files/submit.xml 2012/06/06 07:39:07 1.25
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1<!-- $NetBSD: submit.xml,v 1.24 2009/09/17 18:01:18 kano Exp $ --> 1<!-- $NetBSD: submit.xml,v 1.25 2012/06/06 07:39:07 wiz Exp $ -->
2 2
3<chapter id="submit"> <?dbhtml filename="submit.html"?> 3<chapter id="submit"> <?dbhtml filename="submit.html"?>
4<title>Submitting and Committing</title> 4<title>Submitting and Committing</title>
5 5
6<sect1 id="submitting-binary-packages"> 6<sect1 id="submitting-binary-packages">
7<title>Submitting binary packages</title> 7<title>Submitting binary packages</title>
8 8
9 <para>Our policy is that we accept binaries only from pkgsrc 9 <para>Our policy is that we accept binaries only from pkgsrc
10 developers to guarantee that the packages don't contain any 10 developers to guarantee that the packages don't contain any
11 trojan horses etc. This is not to annoy anyone but rather to 11 trojan horses etc. This is not to annoy anyone but rather to
12 protect our users! You're still free to put up your home-made 12 protect our users! You're still free to put up your home-made
13 binary packages and tell the world where to get them. NetBSD 13 binary packages and tell the world where to get them. NetBSD
14 developers doing bulk builds and wanting to upload them please 14 developers doing bulk builds and wanting to upload them please
@@ -85,53 +85,55 @@ @@ -85,53 +85,55 @@
85 "Moved", or "Removed". You can set <varname>NETBSD_LOGIN_NAME</varname> 85 "Moved", or "Removed". You can set <varname>NETBSD_LOGIN_NAME</varname>
86 in &mk.conf; if your local login name is 86 in &mk.conf; if your local login name is
87 not the same as your NetBSD login name. The target also automatically 87 not the same as your NetBSD login name. The target also automatically
88 removes possibly existing entries for the package in the 88 removes possibly existing entries for the package in the
89 <filename>TODO</filename> file. Don't forget to commit 89 <filename>TODO</filename> file. Don't forget to commit
90 the changes, e.g. by using <command>make changes-entry-commit</command>! 90 the changes, e.g. by using <command>make changes-entry-commit</command>!
91 If you are not using a checkout directly from cvs.NetBSD.org, but e.g. 91 If you are not using a checkout directly from cvs.NetBSD.org, but e.g.
92 a local copy of the repository, you can set USE_NETBSD_REPO=yes. This 92 a local copy of the repository, you can set USE_NETBSD_REPO=yes. This
93 makes the cvs commands use the main repository. 93 makes the cvs commands use the main repository.
94 </para> 94 </para>
95</sect1> 95</sect1>
96 96
97<sect1 id="committing-importing"> 97<sect1 id="committing-importing">
98<title>Committing: Importing a package into CVS</title> 98<title>Committing: Adding a package to CVS</title>
99<para>This section is only of interest for pkgsrc developers with write 99<para>This section is only of interest for pkgsrc developers with write
100 access to the pkgsrc repository. Please remember that cvs 100 access to the pkgsrc repository.</para>
101 imports files relative to the current working directory, and that 101<para>When the package is finished, <quote>cvs add</quote> the files.
102 the pathname that you 102Start by adding the directory and then files in the directory. Don't
103 give the <command>cvs import</command> command is so that it knows where 103forget to add the new package to the category's
104 to place the files in the repository. Newly created packages should be 104<filename>Makefile</filename>. Make sure you don't forget any files;
105 imported with a vendor tag of <quote>TNF</quote> and a release tag of 105you can check by running <quote>cvs status</quote>. An example:</para>
106 <quote>pkgsrc-base</quote>, e.g:</para> 
107 
108<programlisting> 106<programlisting>
109&uprompt; cd .../pkgsrc/category/pkgname 107&uprompt; cd .../pkgsrc/category
110&uprompt; cvs import pkgsrc/category/pkgname TNF pkgsrc-base 108&uprompt; cvs add pkgname
 109&uprompt; cd pkgname
 110&uprompt; cvs add DESCR Makefile PLIST distinfo buildlink3.mk patches
 111&uprompt; cvs add patches/p*
 112&uprompt; cvs status | less
 113&uprompt; cd ..
 114&uprompt; vi Makefile # add SUBDIRS+=pkgname line
 115&uprompt; cvs commit Makefile pkgname
111</programlisting> 116</programlisting>
112 117
113<para>Remember to move the directory from which you imported out of 
114 the way, or cvs will complain the next time you <quote>cvs 
115 update</quote> your source tree. Also don't forget to add the new 
116 package to the category's <filename>Makefile</filename>.</para> 
117 
118<para>The commit message of the initial import should include part of the 118<para>The commit message of the initial import should include part of the
119 <filename>DESCR</filename> file, so people reading the mailing lists know 119 <filename>DESCR</filename> file, so people reading the mailing lists know
120 what the package is/does.</para> 120 what the package is/does.</para>
121 121
122<para>For new packages, <quote>cvs import</quote> is preferred to <quote>cvs 122<para>Also mention the new package in
123 add</quote> because the former gets everything with a single command, 123<filename>pkgsrc/doc/CHANGES-20xx</filename>.</para>
124 and provides a consistent tag.</para> 124
 125<para>Previously, <quote>cvs import</quote> was suggested, but it was
 126much easier to get wrong than <quote>cvs add</quote>.</para>
125</sect1> 127</sect1>
126 128
127<sect1 id="updating-package"> 129<sect1 id="updating-package">
128<title>Updating a package to a newer version</title> 130<title>Updating a package to a newer version</title>
129<para>Please always put a concise, appropriate and relevant summary of the 131<para>Please always put a concise, appropriate and relevant summary of the
130 changes between old and new versions into the commit log when updating 132 changes between old and new versions into the commit log when updating
131 a package. There are various reasons for this:</para> 133 a package. There are various reasons for this:</para>
132 134
133<itemizedlist> 135<itemizedlist>
134<listitem> 136<listitem>
135<para>A URL is volatile, and can change over time. It may go away completely 137<para>A URL is volatile, and can change over time. It may go away completely
136 or its information may be overwritten by newer information.</para> 138 or its information may be overwritten by newer information.</para>
137</listitem> 139</listitem>