diff options
author | wiz <wiz@pkgsrc.org> | 2007-05-12 07:01:15 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2007-05-12 07:01:15 +0000 |
commit | b79ab5523f66fd01f818a1c97447d3513a3afff4 (patch) | |
tree | 4b827964a365619dd5180eb297badf7baafdaf80 /doc/pkgsrc.html | |
parent | 629fa264705f1cd0a1f741826a839be61fbbdbad (diff) | |
download | pkgsrc-b79ab5523f66fd01f818a1c97447d3513a3afff4.tar.gz |
Regen.
Diffstat (limited to 'doc/pkgsrc.html')
-rw-r--r-- | doc/pkgsrc.html | 221 |
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 “<span class="quote">-A</span>” after the “<span class="quote">update</span>” keyword. To switch from the current branch back to the stable branch, add the - “<span class="quote">-rpkgsrc-2006Q4</span>” option.</p> + “<span class="quote">-rpkgsrc-2007Q1</span>” 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>” 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>=“<span class="quote">yes</span>” 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 “<span class="quote">yes</span>”. 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> ===> 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 |