| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | <!-- $NetBSD: fixes.xml,v 1.117 2013/04/15 13:05:14 wiz Exp $ --> | | 1 | <!-- $NetBSD: fixes.xml,v 1.118 2013/04/21 11:33:55 rodent Exp $ --> |
2 | | | 2 | |
3 | <chapter id="fixes"> <?dbhtml filename="fixes.html"?> | | 3 | <chapter id="fixes"> <?dbhtml filename="fixes.html"?> |
4 | <title>Making your package work</title> | | 4 | <title>Making your package work</title> |
5 | | | 5 | |
6 | <sect1 id="general-operation"> | | 6 | <sect1 id="general-operation"> |
7 | <title>General operation</title> | | 7 | <title>General operation</title> |
8 | | | 8 | |
9 | <sect2 id="portability-of-packages"> | | 9 | <sect2 id="portability-of-packages"> |
10 | <title>Portability of packages</title> | | 10 | <title>Portability of packages</title> |
11 | | | 11 | |
12 | <para>One appealing feature of pkgsrc is that it runs on many | | 12 | <para>One appealing feature of pkgsrc is that it runs on many |
13 | different platforms. As a result, it is important to ensure, | | 13 | different platforms. As a result, it is important to ensure, |
14 | where possible, that packages in pkgsrc are portable. This | | 14 | where possible, that packages in pkgsrc are portable. This |
| @@ -118,54 +118,60 @@ INTERACTIVE_STAGE= configure instal | | | @@ -118,54 +118,60 @@ INTERACTIVE_STAGE= configure instal |
118 | pkgsrc system is merely providing a mechanism to avoid | | 118 | pkgsrc system is merely providing a mechanism to avoid |
119 | accidentally building a package with a non-free license; | | 119 | accidentally building a package with a non-free license; |
120 | judgement and responsibility remain with the user. (Installation | | 120 | judgement and responsibility remain with the user. (Installation |
121 | of binary packages are not currently subject to this mechanism; | | 121 | of binary packages are not currently subject to this mechanism; |
122 | this is a bug.)</para> | | 122 | this is a bug.)</para> |
123 | | | 123 | |
124 | <para>One might want to only install packages with a BSD license, | | 124 | <para>One might want to only install packages with a BSD license, |
125 | or the GPL, and not the other. The free licenses are added to the | | 125 | or the GPL, and not the other. The free licenses are added to the |
126 | default <varname>ACCEPTABLE_LICENSES</varname> variable. The | | 126 | default <varname>ACCEPTABLE_LICENSES</varname> variable. The |
127 | user can override the default by setting the | | 127 | user can override the default by setting the |
128 | <varname>ACCEPTABLE_LICENSES</varname> variable with "=" instead | | 128 | <varname>ACCEPTABLE_LICENSES</varname> variable with "=" instead |
129 | of "+=". The licenses accepted by default are: | | 129 | of "+=". The licenses accepted by default are: |
130 | <programlisting> | | 130 | <programlisting> |
131 | public-domain unlicense | | 131 | apache-1.1 apache-2.0 |
132 | gnu-fdl-v1.1 gnu-fdl-v1.2 gnu-fdl-v1.3 | | 132 | arphic-public |
133 | gnu-gpl-v1 | | 133 | artistic artistic-2.0 |
134 | gnu-gpl-v2 gnu-lgpl-v2 gnu-lgpl-v2.1 | | 134 | boost-license |
135 | gnu-gpl-v3 gnu-lgpl-v3 | | 135 | cc-by-sa-v3.0 |
136 | original-bsd modified-bsd 2-clause-bsd | | 136 | cddl-1.0 |
137 | x11 mit miros | | 137 | cpl-1.0 |
138 | apache-1.1 apache-2.0 | | 138 | epl-v1.0 |
139 | artistic artistic-2.0 | | 139 | gnu-fdl-v1.1 gnu-fdl-v1.2 gnu-fdl-v1.3 |
140 | cddl-1.0 | | 140 | gnu-gpl-v1 |
141 | cpl-1.0 | | 141 | gnu-gpl-v2 gnu-lgpl-v2 gnu-lgpl-v2.1 |
142 | open-font-license | | 142 | gnu-gpl-v3 gnu-lgpl-v3 |
143 | mpl-1.0 mpl-1.1 mpl-2.0 | | 143 | ibm-public-license-1.0 |
144 | php png-license | | 144 | ipafont |
145 | postgresql-license | | 145 | isc |
146 | zlib | | 146 | lppl-1.3c |
147 | zpl | | 147 | lucent |
148 | python-software-foundation | | 148 | miros |
149 | ipafont | | 149 | mit |
150 | ibm-public-license-1.0 | | 150 | mpl-1.0 mpl-1.1 mpl-2.0 |
151 | isc | | 151 | mplusfont |
152 | boost-license | | 152 | ofl-v1.0 ofl-v1.1 |
153 | mplusfont | | 153 | original-bsd modified-bsd 2-clause-bsd |
154 | cc-by-sa-v3.0 | | 154 | php |
155 | lppl-1.3c | | 155 | png-license |
156 | lucent | | 156 | postgresql-license |
157 | epl-v1.0 | | 157 | public-domain |
158 | info-zip | | 158 | python-software-foundation |
| | | 159 | qpl-v1.0 |
| | | 160 | sleepycat-public |
| | | 161 | unlicense |
| | | 162 | x11 |
| | | 163 | zlib |
| | | 164 | zpl |
159 | </programlisting> | | 165 | </programlisting> |
160 | </para> | | 166 | </para> |
161 | | | 167 | |
162 | <para>The license tag mechanism is intended to address | | 168 | <para>The license tag mechanism is intended to address |
163 | copyright-related issues surrounding building, installing and | | 169 | copyright-related issues surrounding building, installing and |
164 | using a package, and not to address redistribution issues (see | | 170 | using a package, and not to address redistribution issues (see |
165 | <varname>RESTRICTED</varname> and | | 171 | <varname>RESTRICTED</varname> and |
166 | <varname>NO_SRC_ON_FTP</varname>, etc.). | | 172 | <varname>NO_SRC_ON_FTP</varname>, etc.). |
167 | Packages with redistribution restrictions should set these | | 173 | Packages with redistribution restrictions should set these |
168 | tags.</para> | | 174 | tags.</para> |
169 | | | 175 | |
170 | <para>Denoting that a package may be copied according to a | | 176 | <para>Denoting that a package may be copied according to a |
171 | particular license is done by placing the license in | | 177 | particular license is done by placing the license in |
| @@ -191,31 +197,37 @@ LICENSE= xv-license | | | @@ -191,31 +197,37 @@ LICENSE= xv-license |
191 | *** Error code 1 | | 197 | *** Error code 1 |
192 | </programlisting> | | 198 | </programlisting> |
193 | | | 199 | |
194 | <para>The license can be viewed with <command>make | | 200 | <para>The license can be viewed with <command>make |
195 | show-license</command>, and if the user so chooses, the line | | 201 | show-license</command>, and if the user so chooses, the line |
196 | printed above can be added to &mk.conf; to | | 202 | printed above can be added to &mk.conf; to |
197 | convey to pkgsrc that it should not in the future fail because of | | 203 | convey to pkgsrc that it should not in the future fail because of |
198 | that license:</para> | | 204 | that license:</para> |
199 | | | 205 | |
200 | <programlisting> | | 206 | <programlisting> |
201 | ACCEPTABLE_LICENSES+=xv-license | | 207 | ACCEPTABLE_LICENSES+=xv-license |
202 | </programlisting> | | 208 | </programlisting> |
203 | | | 209 | |
204 | <para>When adding a package with a new license, the license text | | 210 | <para>When adding a package with a new license, the following steps |
205 | should be added to <filename>pkgsrc/licenses</filename> for | | 211 | are required:</para> |
206 | displaying. A list of known licenses can be seen in this | | 212 | <orderedlist> |
207 | directory.</para> | | 213 | <listitem><para>Check if the file can avoid the -license filename tag as described above by referencing <ulink url="http://www.gnu.org/licenses/license-list.html">Various Licenses and Comments about Them</ulink> and <ulink url="http://opensource.org/licenses/alphabetical">Licenses by Name | Open Source Initiative</ulink>. If this is the case, additionally add the license filename to:</para> |
208 | | | 214 | <itemizedlist> |
| | | 215 | <listitem><para>DEFAULT_ACCEPTABLE_LICENSES in <filename>pkgsrc/mk/license.mk</filename></para></listitem> |
| | | 216 | <listitem><para>default_acceptable_licenses in <filename>pkgsrc/pkgtools/pkg_install/files/lib/license.c</filename></para></listitem> |
| | | 217 | </itemizedlist> |
| | | 218 | <para>with the proper syntax as demonstrated in those files, respectively.</para></listitem> |
| | | 219 | <listitem><para>The license text should be added to <filename>pkgsrc/licenses</filename> for displaying. A list of known licenses can be seen in this directory.</para></listitem> |
| | | 220 | </orderedlist> |
209 | <para>When the license changes (in a way other than formatting), | | 221 | <para>When the license changes (in a way other than formatting), |
210 | please make sure that the new license has a different name (e.g., | | 222 | please make sure that the new license has a different name (e.g., |
211 | append the version number if it exists, or the date). Just | | 223 | append the version number if it exists, or the date). Just |
212 | because a user told pkgsrc to build programs under a previous | | 224 | because a user told pkgsrc to build programs under a previous |
213 | version of a license does not mean that pkgsrc should build | | 225 | version of a license does not mean that pkgsrc should build |
214 | programs under the new licenses. The higher-level point is that | | 226 | programs under the new licenses. The higher-level point is that |
215 | pkgsrc does not evaluate licenses for reasonableness; the only | | 227 | pkgsrc does not evaluate licenses for reasonableness; the only |
216 | test is a mechanistic test of whether a particular text has been | | 228 | test is a mechanistic test of whether a particular text has been |
217 | approved by either of two bodies.</para> | | 229 | approved by either of two bodies.</para> |
218 | | | 230 | |
219 | <para>The use of <varname>LICENSE=shareware</varname>, | | 231 | <para>The use of <varname>LICENSE=shareware</varname>, |
220 | <varname>LICENSE=no-commercial-use</varname>, and similar language | | 232 | <varname>LICENSE=no-commercial-use</varname>, and similar language |
221 | is deprecated because it does not crisply refer to a particular | | 233 | is deprecated because it does not crisply refer to a particular |