summaryrefslogtreecommitdiff
path: root/doc/pkgsrc.html
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2007-05-12 07:01:15 +0000
committerwiz <wiz@pkgsrc.org>2007-05-12 07:01:15 +0000
commitb79ab5523f66fd01f818a1c97447d3513a3afff4 (patch)
tree4b827964a365619dd5180eb297badf7baafdaf80 /doc/pkgsrc.html
parent629fa264705f1cd0a1f741826a839be61fbbdbad (diff)
downloadpkgsrc-b79ab5523f66fd01f818a1c97447d3513a3afff4.tar.gz
Regen.
Diffstat (limited to 'doc/pkgsrc.html')
-rw-r--r--doc/pkgsrc.html221
1 files changed, 137 insertions, 84 deletions
diff --git a/doc/pkgsrc.html b/doc/pkgsrc.html
index 9e9314d022f..a2e941cebdb 100644
--- a/doc/pkgsrc.html
+++ b/doc/pkgsrc.html
@@ -641,6 +641,10 @@ minutes!</p>
<td><a href="http://www.tru64.org/" target="_top">OSF/1</a></td>
<td align="center">Nov 2004</td>
</tr>
+<tr>
+<td><a href="http://www.hp.com/products1/unix/" target="_top">HP-UX</a></td>
+<td align="center">Apr 2007</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -903,7 +907,7 @@ and dashes.</p>
quarterly basis from the current branch and only gets modified
for security updates. The names of the stable branches are built
from the year and the quarter, for example
- <code class="literal">2006Q4</code>.</p>
+ <code class="literal">2007Q1</code>.</p>
<p>The second step is to decide <span class="emphasis"><em>how</em></span> you
want to download pkgsrc. You can get it as a tar file, via SUP,
or via CVS. All three ways are described here.</p>
@@ -917,8 +921,8 @@ and dashes.</p>
<p>The tar file for the current branch is in the directory
<code class="filename">current</code> and is called <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz" target="_top"><code class="filename">pkgsrc.tar.gz</code></a>.
It is autogenerated daily.</p>
-<p>The tar file for the stable branch 2006Q4 is in the
- directory <code class="filename">pkgsrc-2006Q4</code> and is also called <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2006Q4/pkgsrc-2006Q4.tar.gz" target="_top"><code class="filename">pkgsrc-2006Q4.tar.gz</code></a>.</p>
+<p>The tar file for the stable branch 2007Q1 is in the
+ directory <code class="filename">pkgsrc-2007Q1</code> and is also called <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2007Q1/pkgsrc-2007Q1.tar.gz" target="_top"><code class="filename">pkgsrc-2007Q1.tar.gz</code></a>.</p>
<p>After downloading the tar file, change to the directory
where you want to have pkgsrc. This is usually
<code class="filename">/usr</code>. Then, run <span><strong class="command">gzcat
@@ -965,7 +969,7 @@ and dashes.</p>
<code class="filename">/usr</code>. In that directory you run the
checkout command, which is <span><strong class="command">cvs -q checkout -P
pkgsrc</strong></span> for the current branch and <span><strong class="command">cvs -q
- checkout -rpkgsrc-2006Q4 -P pkgsrc</strong></span> for the stable
+ checkout -rpkgsrc-2007Q1 -P pkgsrc</strong></span> for the stable
branch. This command will create a directory called
<code class="filename">pkgsrc</code> with all the pkgsrc files in
it.</p>
@@ -1018,7 +1022,7 @@ and dashes.</p>
by adding the option &#8220;<span class="quote">-A</span>&#8221; after the
&#8220;<span class="quote">update</span>&#8221; keyword. To switch from the current branch
back to the stable branch, add the
- &#8220;<span class="quote">-rpkgsrc-2006Q4</span>&#8221; option.</p>
+ &#8220;<span class="quote">-rpkgsrc-2007Q1</span>&#8221; option.</p>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
@@ -1170,6 +1174,12 @@ directory on ftp.NetBSD.org.</p>
<td class="binary-pkgs-url"> </td>
</tr>
<tr>
+<td class="osname">HP-UX 11.11/hppa</td>
+<td class="date">20070421</td>
+<td class="kit-url"><a href="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-HPUX-B.11.11-hppa-20070421.tar.gz" target="_top">binary kit</a></td>
+<td class="binary-pkgs-url"> </td>
+</tr>
+<tr>
<td class="osname">Interix 3.5</td>
<td class="date">20061106</td>
<td class="kit-url"><a href="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Interix-3.5-i386-20061106.tar.gz" target="_top">binary kit</a></td>
@@ -1206,6 +1216,12 @@ directory on ftp.NetBSD.org.</p>
<td class="binary-pkgs-url"> </td>
</tr>
<tr>
+<td class="osname">OSF1 5.1/alpha</td>
+<td class="date">20070420</td>
+<td class="kit-url"><a href="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-OSF1-V5.1-alpha-20070420.tar.gz" target="_top">binary kit</a></td>
+<td class="binary-pkgs-url"> </td>
+</tr>
+<tr>
<td class="osname">Slackware Linux 8.1/i386</td>
<td class="date">20030417</td>
<td class="kit-url"><a href="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Linux-2.4.18-slackware-20030417.tar.gz" target="_top">binary kit</a></td>
@@ -3526,8 +3542,10 @@ the one that corresponds to your release (determine via <span><strong class="com
password for each required package installed. To avoid this, the sudo
package can be used, which does password caching over a limited time. To
use it, install sudo (either as binary package or from
-<a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/security/sudo/README.html" target="_top"><code class="filename">security/sudo</code></a>) and then put the following
-into your <code class="filename">/etc/mk.conf</code>:</p>
+<a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/security/sudo/README.html" target="_top"><code class="filename">security/sudo</code></a>) and then put the
+following into your <code class="filename">/etc/mk.conf</code>, somewhere
+<span class="emphasis"><em>after</em></span> the definition of the
+<code class="varname">LOCALBASE</code> variable:</p>
<pre class="programlisting">
.if exists(${LOCALBASE}/bin/sudo)
SU_CMD= ${LOCALBASE}/bin/sudo /bin/sh -c
@@ -6983,16 +7001,10 @@ support.</span>&#8221; The file is sorted by option names.</p>
<dt><span class="term"><code class="varname">INSTALLATION_DIRS</code></span></dt>
<dd><p>A list of directories relative to
<code class="varname">PREFIX</code> that are created by pkgsrc at the
- beginning of the <span class="emphasis"><em>install</em></span> phase. If
- this variable is set,
- <code class="varname">NO_MTREE</code>=&#8220;<span class="quote">yes</span>&#8221; is assumed,
- which means that the package claims to create all needed
- directories itself before installing files to it. Therefore
- this variable should only be set in
- <code class="filename">Makefile</code>s that are under control of the
- package's author. The directories are created with the
- correct ownership, depending on their
- name.</p></dd>
+ beginning of the <span class="emphasis"><em>install</em></span> phase.
+ The package is supposed to create all needed directories itself
+ before installing files to it and list all other directories here.
+ </p></dd>
</dl></div>
<p>In the rare cases that a package shouldn't install anything,
set <code class="varname">NO_INSTALL</code> to &#8220;<span class="quote">yes</span>&#8221;. This is
@@ -7484,7 +7496,7 @@ TOOLS_PLATFORM.true?= true # shell builtin
<tbody>
<tr class="question">
<td align="left" valign="top">
-<a name="tools.new"></a><a name="id2680589"></a><b>17.4.1.</b>
+<a name="tools.new"></a><a name="id454976"></a><b>17.4.1.</b>
</td>
<td align="left" valign="top"><p>How do I add a new tool?</p></td>
</tr>
@@ -7494,7 +7506,7 @@ TOOLS_PLATFORM.true?= true # shell builtin
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="tools.listall"></a><a name="id2680599"></a><b>17.4.2.</b>
+<a name="tools.listall"></a><a name="id454985"></a><b>17.4.2.</b>
</td>
<td align="left" valign="top"><p>How do I get a list of all available
tools?</p></td>
@@ -7505,7 +7517,7 @@ TOOLS_PLATFORM.true?= true # shell builtin
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="tools.used"></a><a name="id2680610"></a><b>17.4.3.</b>
+<a name="tools.used"></a><a name="id454995"></a><b>17.4.3.</b>
</td>
<td align="left" valign="top"><p>How can I get a list of all the tools that a
package is using while being built? I want to know whether it
@@ -7665,20 +7677,35 @@ TOOLS_PLATFORM.true?= true # shell builtin
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="handling-licenses"></a>18.1.4. Handling licenses</h3></div></div></div>
-<p>A package may be covered by a license which the user has
- or has not agreed to accept. For these cases, pkgsrc contains
- a mechanism to note that a package is covered by a particular
- license, and the package cannot be built unless the user has
- accepted the license. (Installation of binary packages are
- not currently subject to this mechanism.) Packages with
- licenses that are either Open Source according to the Open
- Source Initiative or Free according to the Free Software
- Foundation will not be marked with a license tag. Packages
- with licenses that have not been determined to meet either
- definition will be marked with a license tag referring to the
- license. This will prevent building unless pkgsrc is informed
- that the license is acceptable, and enables displaying the
- license.</p>
+<p>Authors of software can choose the licence under which
+ software can be copied. This is due to copyright law, and reasons
+ for license choices are outside the scope of pkgsrc. The pkgsrc
+ system recognizes that there are a number of licenses which some
+ users may find objectionable or difficult or impossible to comply
+ with. The Free Software Foundation has declared some licenses
+ "Free", and the Open Source Initiative has a definition of "Open
+ Source". The pkgsrc system, as a policy choice, does not label
+ packages which have licenses that are Free or Open Source.
+ However, packages without a license meeting either of those tests
+ are labeled with a license tag denoting the license. Note that a
+ package with no license to copy trivially does not meet either the
+ Free or Open Source test.</p>
+<p>For packages which are not Free or Open Source, pkgsrc will
+ not build the package unless the user has indicated to pkgsrc that
+ packages with that particular license may be built. Note that
+ this documentation avoids the term "accepted the license". The
+ pkgsrc system is merely providing a mechanism to avoid
+ accidentially building a package with a non-free license;
+ judgement and responsibility remain with the user. (Installation
+ of binary packages are not currently subject to this mechanism;
+ this is a bug.)</p>
+<p>One might want to only install packages with a BSD license,
+ or the GPL, and not the other. The pkgsrc license tag mechanism
+ does not provide a way to do this. It might be possible to put in
+ tags for free licenses, and have a default
+ <code class="varname">ACCEPTABLE_LICENSES</code> variable value, but this is
+ widely viewed as having a very poor ratio of benefit to
+ work.</p>
<p>The license tag mechanism is intended to address
copyright-related issues surrounding building, installing and
using a package, and not to address redistribution issues (see
@@ -7686,9 +7713,10 @@ TOOLS_PLATFORM.true?= true # shell builtin
<code class="varname">NO_SRC_ON_FTP</code>, etc.). However, the above
definition of licenses for which tags are not needed implies
that packages with redistribution restrictions should have
- tags.</p>
-<p>Denoting that a package is covered by a particular license
- is done by placing the license in
+ tags, because Free or Open Source programs do not have
+ redistribution restrictions.</p>
+<p>Denoting that a package may be copied according to a
+ particular license is done by placing the license in
<code class="filename">pkgsrc/licenses</code> and setting the
<code class="varname">LICENSE</code> variable to a string identifying the
license, e.g. in <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/graphics/xv/README.html" target="_top"><code class="filename">graphics/xv</code></a>:</p>
@@ -7696,8 +7724,8 @@ TOOLS_PLATFORM.true?= true # shell builtin
LICENSE= xv-license
</pre>
<p>When trying to build, the user will get a notice that the
- package is covered by a license which has not been
- accepted:</p>
+ package is covered by a license which has not been placed in the
+ <code class="varname">ACCEPTABLE_LICENSES</code> variable:</p>
<pre class="programlisting">
<code class="prompt">%</code> <strong class="userinput"><code>make</code></strong>
===&gt; xv-3.10anb9 has an unacceptable license: xv-license.
@@ -7707,32 +7735,55 @@ TOOLS_PLATFORM.true?= true # shell builtin
*** Error code 1
</pre>
<p>The license can be viewed with <span><strong class="command">make
- show-license</strong></span>, and if it is considered appropriate,
- the line printed above can be added to
- <code class="filename">/etc/mk.conf</code> to indicate acceptance of
- the particular license:</p>
+ show-license</strong></span>, and if the user so chooses, the line
+ printed above can be added to <code class="filename">/etc/mk.conf</code> to
+ convey to pkgsrc that it should not in the future fail because of
+ that license:</p>
<pre class="programlisting">
ACCEPTABLE_LICENSES+=xv-license
</pre>
-<p>When adding a package with a new license, the license
- text should be added to <code class="filename">pkgsrc/licenses</code>
- for displaying. A list of known licenses can be seen in this
+<p>When adding a package with a new license, the license text
+ should be added to <code class="filename">pkgsrc/licenses</code> for
+ displaying. A list of known licenses can be seen in this
directory.</p>
+<p>When the license changes (in a way other than formatting),
+ please make sure that the new license has a different name (e.g.,
+ append the version number if it exists, or the date). Just
+ because a user told pkgsrc to build programs under a previous
+ version of a license does not mean that pkgsrc should build
+ programs under the new licenes. The higher-level point is that
+ pkgsrc does not evaluate licenses for reasonableness; the only
+ test is a mechanistic test of whether a particular text has been
+ approved by either of two bodies.</p>
<p>The use of <code class="varname">LICENSE=shareware</code>,
- <code class="varname">LICENSE=no-commercial-use</code>, and similar
- language is deprecated because it does not crisply refer to
- a particular license text. Another problem with such usage
- is that it does not enable a user to denote acceptance of
- the license for a single package without accepting the same
- license text for another package. In particular, this can
- be inappropriate when e.g. one accepts a particular license to
- indicate to pkgsrc that a fee has been paid.</p>
+ <code class="varname">LICENSE=no-commercial-use</code>, and similar language
+ is deprecated because it does not crisply refer to a particular
+ license text. Another problem with such usage is that it does not
+ enable a user to tell pkgsrc to proceed for a single package
+ without also telling pkgsrc to proceed for all packages with that
+ tag.</p>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="restricted-packages"></a>18.1.5. Restricted packages</h3></div></div></div>
<p>Some licenses restrict how software may be re-distributed.
- In order to satisfy these restrictions, the package system
+ Because a license tag is required unless the package is Free or
+ Open Source, all packages with restrictions should have license
+ tags. By declaring the restrictions, package tools can
+ automatically refrain from e.g. placing binary packages on FTP
+ sites.</p>
+<p>There are four restrictions that may be encoded, which are
+ the cross product of sources (distfiles) and binaries not being
+ placed on FTP sites and CD-ROMs. Because this is rarely the exact
+ language in any license, and because non-Free licenses tend to be
+ different from each other, pkgsrc adopts a definition of FTP and
+ CD-ROM. Pkgsrc uses "FTP" to mean that the source or binary file
+ should not be made available over the Internet at no charge.
+ Pkgsrc uses "CD-ROM" to mean that the source or binary may not be
+ made available on some kind of media, together with other source
+ and binary packages, and which is sold for a distribution charge.
+ </p>
+<p>In order to encode these restrictions, the package system
defines five make variables that can be set to note these
restrictions:</p>
<div class="itemizedlist"><ul type="disc">
@@ -7740,35 +7791,38 @@ TOOLS_PLATFORM.true?= true # shell builtin
<p><code class="varname">RESTRICTED</code></p>
<p>This variable should be set whenever a restriction
exists (regardless of its kind). Set this variable to a
- string containing the reason for the restriction.</p>
+ string containing the reason for the restriction. It should
+ be understood that those wanting to understand the restriction
+ will have to read the license, and perhaps seek advice of
+ counsel.</p>
</li>
<li>
<p><code class="varname">NO_BIN_ON_CDROM</code></p>
-<p>Binaries may not be placed on CD-ROM. Set this
- variable to <code class="varname">${RESTRICTED}</code> whenever a
- binary package may not be included on a CD-ROM.</p>
+<p>Binaries may not be placed on CD-ROM containing other
+ binary packages, for which a distribution charge may be made.
+ In this case, set this variable to
+ <code class="varname">${RESTRICTED}</code>.</p>
</li>
<li>
<p><code class="varname">NO_BIN_ON_FTP</code></p>
-<p>Binaries may not be placed on an FTP server. Set
- this variable to <code class="varname">${RESTRICTED}</code>
- whenever a binary package may not be made available
- on the Internet.</p>
+<p>Binaries may not made available on the Internet without
+ charge. In this case, set this variable to
+ <code class="varname">${RESTRICTED}</code>. If this variable is set,
+ binary packages will not be included on ftp.NetBSD.org.</p>
</li>
<li>
<p><code class="varname">NO_SRC_ON_CDROM</code></p>
-<p>Distfiles may not be placed on CD-ROM. Set this
- variable to <code class="varname">${RESTRICTED}</code> if
- re-distribution of the source code or other distfile(s) is
- not allowed on CD-ROMs.</p>
+<p>Distfiles may not be placed on CD-ROM, together with
+ other distfiles, for which a fee may be charged. In this
+ case, set this variable to <code class="varname">${RESTRICTED}</code>.
+ </p>
</li>
<li>
<p><code class="varname">NO_SRC_ON_FTP</code></p>
-<p>Distfiles may not be placed on FTP. Set this variable
- to <code class="varname">${RESTRICTED}</code> if re-distribution of
- the source code or other distfile(s) via the Internet is not
- allowed. If this variable is not set, the distfile(s) will
- be mirrored on ftp.NetBSD.org.</p>
+<p>Distfiles may not made available via FTP at no charge.
+ In this case, set this variable to
+ <code class="varname">${RESTRICTED}</code>. If this variable is set,
+ the distfile(s) will not be mirrored on ftp.NetBSD.org.</p>
</li>
</ul></div>
<p>Please note that the use of <code class="varname">NO_PACKAGE</code>,
@@ -9437,7 +9491,7 @@ do?</a>
<tbody>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.makeflags"></a><a name="id2686192"></a><b>21.1.</b>
+<a name="devfaq.makeflags"></a><a name="id459757"></a><b>21.1.</b>
</td>
<td align="left" valign="top"><p>What is the difference between
<code class="varname">MAKEFLAGS</code>, <code class="varname">.MAKEFLAGS</code> and
@@ -9453,7 +9507,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.make"></a><a name="id2686298"></a><b>21.2.</b>
+<a name="devfaq.make"></a><a name="id459792"></a><b>21.2.</b>
</td>
<td align="left" valign="top"><p>What is the difference between
<code class="varname">MAKE</code>, <code class="varname">GMAKE</code> and
@@ -9471,7 +9525,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.cc"></a><a name="id2686339"></a><b>21.3.</b>
+<a name="devfaq.cc"></a><a name="id459830"></a><b>21.3.</b>
</td>
<td align="left" valign="top"><p>What is the difference between
<code class="varname">CC</code>, <code class="varname">PKG_CC</code> and
@@ -9489,7 +9543,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.bl3flags"></a><a name="id2686446"></a><b>21.4.</b>
+<a name="devfaq.bl3flags"></a><a name="id459868"></a><b>21.4.</b>
</td>
<td align="left" valign="top"><p>What is the difference between
<code class="varname">BUILDLINK_LDFLAGS</code>,
@@ -9502,7 +9556,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.bl3prefix"></a><a name="id2686467"></a><b>21.5.</b>
+<a name="devfaq.bl3prefix"></a><a name="id459888"></a><b>21.5.</b>
</td>
<td align="left" valign="top"><p>Why does <span><strong class="command">make show-var
VARNAME=BUILDLINK_PREFIX.<em class="replaceable"><code>foo</code></em></strong></span>
@@ -9518,7 +9572,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.master_sites"></a><a name="id2686497"></a><b>21.6.</b>
+<a name="devfaq.master_sites"></a><a name="id459917"></a><b>21.6.</b>
</td>
<td align="left" valign="top"><p>What does
<code class="literal">${MASTER_SITE_SOURCEFORGE:=package/}</code> mean? I
@@ -9542,7 +9596,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.mailinglists"></a><a name="id2686573"></a><b>21.7.</b>
+<a name="devfaq.mailinglists"></a><a name="id460061"></a><b>21.7.</b>
</td>
<td align="left" valign="top"><p>Which mailing lists are there for package
developers?</p></td>
@@ -9567,7 +9621,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.documentation"></a><a name="id2686612"></a><b>21.8.</b>
+<a name="devfaq.documentation"></a><a name="id460131"></a><b>21.8.</b>
</td>
<td align="left" valign="top"><p>Where is the pkgsrc
documentation?</p></td>
@@ -9615,7 +9669,7 @@ do?</a>
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="devfaq.too-much-time"></a><a name="id2686674"></a><b>21.9.</b>
+<a name="devfaq.too-much-time"></a><a name="id460227"></a><b>21.9.</b>
</td>
<td align="left" valign="top"><p>I have a little time to kill. What shall I
do?</p></td>
@@ -10401,9 +10455,8 @@ details.</p>
<dd><p>This file contains a list of directories,
together with their permission bits and ownership. These
directories will be created automatically with every package
- that does not explicitly set <code class="varname">NO_MTREE</code>. There
- have been some discussions about whether this file is needed at
- all, but with no result.</p></dd>
+ that explicitly sets <code class="varname">USE_MTREE</code>. This feature will
+ be removed.</p></dd>
<dt><span class="term"><code class="filename">mk/platform/<em class="replaceable"><code>MyOS</code></em>.x11.dist</code></span></dt>
<dd><p>Just copy one of the pre-existing x11.dist files
to your