summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwiz <wiz>2007-05-12 07:01:15 +0000
committerwiz <wiz>2007-05-12 07:01:15 +0000
commit076a026771bd778f886b7c04d7d81ecc4a71a92d (patch)
tree4b827964a365619dd5180eb297badf7baafdaf80
parent7cb8c57c8fac2b1aeb3c0a2bece2f43f06566930 (diff)
downloadpkgsrc-076a026771bd778f886b7c04d7d81ecc4a71a92d.tar.gz
Regen.
-rw-r--r--doc/pkgsrc.html221
-rw-r--r--doc/pkgsrc.txt147
2 files changed, 230 insertions, 138 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
diff --git a/doc/pkgsrc.txt b/doc/pkgsrc.txt
index 819c7b60602..b7707e20c06 100644
--- a/doc/pkgsrc.txt
+++ b/doc/pkgsrc.txt
@@ -571,6 +571,8 @@ Table 1.1. Platforms supported by pkgsrc
|DragonFlyBSD | Oct 2004 |
|---------------------------------------------+------------------|
|OSF/1 | Nov 2004 |
+|---------------------------------------------+------------------|
+|HP-UX | Apr 2007 |
+----------------------------------------------------------------+
@@ -806,7 +808,7 @@ Before you download any pkgsrc files, you should decide whether you want the
current branch or the stable branch. The latter is forked on a 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
-2006Q4.
+2007Q1.
The second step is to decide how you want to download pkgsrc. You can get it as
a tar file, via SUP, or via CVS. All three ways are described here.
@@ -820,8 +822,8 @@ described in detail in Appendix C, Directory layout of the pkgsrc FTP server.
The tar file for the current branch is in the directory current and is called
pkgsrc.tar.gz. It is autogenerated daily.
-The tar file for the stable branch 2006Q4 is in the directory pkgsrc-2006Q4 and
-is also called pkgsrc-2006Q4.tar.gz.
+The tar file for the stable branch 2007Q1 is in the directory pkgsrc-2007Q1 and
+is also called pkgsrc-2007Q1.tar.gz.
After downloading the tar file, change to the directory where you want to have
pkgsrc. This is usually /usr. Then, run gzcat pkgsrc.tar.gz | tar xf - to
@@ -855,7 +857,7 @@ Or, the same for the bourne shell:
Then, you change to the directory where you want to have your copy of pkgsrc.
In most cases this is /usr. In that directory you run the checkout command,
which is cvs -q checkout -P pkgsrc for the current branch and cvs -q checkout
--rpkgsrc-2006Q4 -P pkgsrc for the stable branch. This command will create a
+-rpkgsrc-2007Q1 -P pkgsrc for the stable branch. This command will create a
directory called pkgsrc with all the pkgsrc files in it.
2.2. Keeping pkgsrc up-to-date
@@ -896,7 +898,7 @@ When updating pkgsrc, the CVS program keeps track of the branch you selected.
But if you, for whatever reason, want to switch from the stable branch to the
current one, you can do it by adding the option "-A" after the "update"
keyword. To switch from the current branch back to the stable branch, add the
-"-rpkgsrc-2006Q4" option.
+"-rpkgsrc-2007Q1" option.
2.2.2.2. What happens to my changes when updating?
@@ -971,6 +973,8 @@ Table 3.1. Binary kits and available packages
|-----------------------------------+---------------+----------+---------------|
|FreeBSD 5.3/i386 |20050119 |binary kit| |
|-----------------------------------+---------------+----------+---------------|
+|HP-UX 11.11/hppa |20070421 |binary kit| |
+|-----------------------------------+---------------+----------+---------------|
|Interix 3.5 |20061106 |binary kit| |
|-----------------------------------+---------------+----------+---------------|
|IRIX 6.5 n32-bit ABI |20040911 |binary kit|binary packages|
@@ -983,6 +987,8 @@ Table 3.1. Binary kits and available packages
|-----------------------------------+---------------+----------+---------------|
|OpenBSD 3.5/i386 |20040703 |binary kit| |
|-----------------------------------+---------------+----------+---------------|
+|OSF1 5.1/alpha |20070420 |binary kit| |
+|-----------------------------------+---------------+----------+---------------|
|Slackware Linux 8.1/i386 |20030417 |binary kit| |
|-----------------------------------+---------------+----------+---------------|
|Slackware Linux 9/i386 |20040703 |binary kit| |
@@ -2956,7 +2962,7 @@ feature of pkgsrc, it can become annoying to type in the root 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 security/sudo) and then put the following into your /etc
-/mk.conf:
+/mk.conf, somewhere after the definition of the LOCALBASE variable:
.if exists(${LOCALBASE}/bin/sudo)
SU_CMD= ${LOCALBASE}/bin/sudo /bin/sh -c
@@ -5835,12 +5841,9 @@ Some other variables are:
INSTALLATION_DIRS
A list of directories relative to PREFIX that are created by pkgsrc at the
- beginning of the install phase. If this variable is set, NO_MTREE="yes" 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 Makefiles that are under control of the package's
- author. The directories are created with the correct ownership, depending
- on their name.
+ beginning of the install phase. The package is supposed to create all
+ needed directories itself before installing files to it and list all other
+ directories here.
In the rare cases that a package shouldn't install anything, set NO_INSTALL to
"yes". This is mostly relevant for packages in the regress category.
@@ -6366,33 +6369,48 @@ The user can then decide to skip this package by setting the BATCH variable.
18.1.4. Handling licenses
-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.
+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.
+
+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.)
+
+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
+ACCEPTABLE_LICENSES variable value, but this is widely viewed as having a very
+poor ratio of benefit to work.
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 RESTRICTED and NO_SRC_ON_FTP, etc.). However, the
above definition of licenses for which tags are not needed implies that
-packages with redistribution restrictions should have tags.
+packages with redistribution restrictions should have tags, because Free or
+Open Source programs do not have redistribution restrictions.
-Denoting that a package is covered by a particular license is done by placing
-the license in pkgsrc/licenses and setting the LICENSE variable to a string
-identifying the license, e.g. in graphics/xv:
+Denoting that a package may be copied according to a particular license is done
+by placing the license in pkgsrc/licenses and setting the LICENSE variable to a
+string identifying the license, e.g. in graphics/xv:
LICENSE= xv-license
When trying to build, the user will get a notice that the package is covered by
-a license which has not been accepted:
+a license which has not been placed in the ACCEPTABLE_LICENSES variable:
% make
===> xv-3.10anb9 has an unacceptable license: xv-license.
@@ -6402,9 +6420,9 @@ a license which has not been accepted:
*** Error code 1
-The license can be viewed with make show-license, and if it is considered
-appropriate, the line printed above can be added to /etc/mk.conf to indicate
-acceptance of the particular license:
+The license can be viewed with make show-license, and if the user so chooses,
+the line printed above can be added to /etc/mk.conf to convey to pkgsrc that it
+should not in the future fail because of that license:
ACCEPTABLE_LICENSES+=xv-license
@@ -6413,49 +6431,71 @@ When adding a package with a new license, the license text should be added to
pkgsrc/licenses for displaying. A list of known licenses can be seen in this
directory.
+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.
+
The use of LICENSE=shareware, LICENSE=no-commercial-use, 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.
+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.
18.1.5. Restricted packages
-Some licenses restrict how software may be re-distributed. In order to satisfy
-these restrictions, the package system defines five make variables that can be
-set to note these restrictions:
+Some licenses restrict how software may be re-distributed. 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.
+
+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.
+
+In order to encode these restrictions, the package system defines five make
+variables that can be set to note these restrictions:
* RESTRICTED
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.
+ restriction. It should be understood that those wanting to understand the
+ restriction will have to read the license, and perhaps seek advice of
+ counsel.
* NO_BIN_ON_CDROM
- Binaries may not be placed on CD-ROM. Set this variable to ${RESTRICTED}
- whenever a binary package may not be included on a CD-ROM.
+ 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
+ ${RESTRICTED}.
* NO_BIN_ON_FTP
- Binaries may not be placed on an FTP server. Set this variable to $
- {RESTRICTED} whenever a binary package may not be made available on the
- Internet.
+ Binaries may not made available on the Internet without charge. In this
+ case, set this variable to ${RESTRICTED}. If this variable is set, binary
+ packages will not be included on ftp.NetBSD.org.
* NO_SRC_ON_CDROM
- Distfiles may not be placed on CD-ROM. Set this variable to ${RESTRICTED}
- if re-distribution of the source code or other distfile(s) is not allowed
- on CD-ROMs.
+ 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 $
+ {RESTRICTED}.
* NO_SRC_ON_FTP
- Distfiles may not be placed on FTP. Set this variable to ${RESTRICTED} 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.
+ Distfiles may not made available via FTP at no charge. In this case, set
+ this variable to ${RESTRICTED}. If this variable is set, the distfile(s)
+ will not be mirrored on ftp.NetBSD.org.
Please note that the use of NO_PACKAGE, IGNORE, NO_CDROM, or other generic make
variables to denote restrictions is deprecated, because they unconditionally
@@ -8518,8 +8558,7 @@ mk/platform/MyOS.pkg.dist
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 NO_MTREE. There have been some
- discussions about whether this file is needed at all, but with no result.
+ every package that explicitly sets USE_MTREE. This feature will be removed.
mk/platform/MyOS.x11.dist