| @@ -9034,27 +9034,27 @@ place. | | | @@ -9034,27 +9034,27 @@ place. |
9034 | </li> | | 9034 | </li> |
9035 | </ol></div> | | 9035 | </ol></div> |
9036 | </div> | | 9036 | </div> |
9037 | </div> | | 9037 | </div> |
9038 | <div class="chapter"> | | 9038 | <div class="chapter"> |
9039 | <div class="titlepage"><div><div><h2 class="title"> | | 9039 | <div class="titlepage"><div><div><h2 class="title"> |
9040 | <a name="devfaq"></a>Chapter 24. Frequently Asked Questions</h2></div></div></div> | | 9040 | <a name="devfaq"></a>Chapter 24. Frequently Asked Questions</h2></div></div></div> |
9041 | <p>This section contains the answers to questions that may | | 9041 | <p>This section contains the answers to questions that may |
9042 | arise when you are writing a package. If you don't find your | | 9042 | arise when you are writing a package. If you don't find your |
9043 | question answered here, first have a look in the other chapters, | | 9043 | question answered here, first have a look in the other chapters, |
9044 | and if you still don't have the answer, ask on the | | 9044 | and if you still don't have the answer, ask on the |
9045 | <code class="literal">pkgsrc-users</code> mailing list.</p> | | 9045 | <code class="literal">pkgsrc-users</code> mailing list.</p> |
9046 | <div class="qandaset"> | | 9046 | <div class="qandaset"> |
9047 | <a name="idm81678864"></a><dl> | | 9047 | <a name="idm79478288"></a><dl> |
9048 | <dt>24.1. <a href="#devfaq.makeflags">What is the difference between | | 9048 | <dt>24.1. <a href="#devfaq.makeflags">What is the difference between |
9049 | MAKEFLAGS, .MAKEFLAGS and | | 9049 | MAKEFLAGS, .MAKEFLAGS and |
9050 | MAKE_FLAGS?</a> | | 9050 | MAKE_FLAGS?</a> |
9051 | </dt> | | 9051 | </dt> |
9052 | <dt>24.2. <a href="#devfaq.make">What is the difference between | | 9052 | <dt>24.2. <a href="#devfaq.make">What is the difference between |
9053 | MAKE, GMAKE and | | 9053 | MAKE, GMAKE and |
9054 | MAKE_PROGRAM?</a> | | 9054 | MAKE_PROGRAM?</a> |
9055 | </dt> | | 9055 | </dt> |
9056 | <dt>24.3. <a href="#devfaq.cc">What is the difference between | | 9056 | <dt>24.3. <a href="#devfaq.cc">What is the difference between |
9057 | CC, PKG_CC and | | 9057 | CC, PKG_CC and |
9058 | PKGSRC_COMPILER?</a> | | 9058 | PKGSRC_COMPILER?</a> |
9059 | </dt> | | 9059 | </dt> |
9060 | <dt>24.4. <a href="#devfaq.bl3flags">What is the difference between | | 9060 | <dt>24.4. <a href="#devfaq.bl3flags">What is the difference between |
| @@ -9079,157 +9079,157 @@ place. | | | @@ -9079,157 +9079,157 @@ place. |
9079 | </dt> | | 9079 | </dt> |
9080 | <dt>24.9. <a href="#devfaq.too-much-time">I have a little time to kill. What shall I | | 9080 | <dt>24.9. <a href="#devfaq.too-much-time">I have a little time to kill. What shall I |
9081 | do?</a> | | 9081 | do?</a> |
9082 | </dt> | | 9082 | </dt> |
9083 | </dl> | | 9083 | </dl> |
9084 | <table border="0" style="width: 100%;"> | | 9084 | <table border="0" style="width: 100%;"> |
9085 | <colgroup> | | 9085 | <colgroup> |
9086 | <col align="left" width="1%"> | | 9086 | <col align="left" width="1%"> |
9087 | <col> | | 9087 | <col> |
9088 | </colgroup> | | 9088 | </colgroup> |
9089 | <tbody> | | 9089 | <tbody> |
9090 | <tr class="question"> | | 9090 | <tr class="question"> |
9091 | <td align="left" valign="top"> | | 9091 | <td align="left" valign="top"> |
9092 | <a name="devfaq.makeflags"></a><a name="idm81678480"></a><p><b>24.1.</b></p> | | 9092 | <a name="devfaq.makeflags"></a><a name="idm79477904"></a><p><b>24.1.</b></p> |
9093 | </td> | | 9093 | </td> |
9094 | <td align="left" valign="top"><p>What is the difference between | | 9094 | <td align="left" valign="top"><p>What is the difference between |
9095 | <code class="varname">MAKEFLAGS</code>, <code class="varname">.MAKEFLAGS</code> and | | 9095 | <code class="varname">MAKEFLAGS</code>, <code class="varname">.MAKEFLAGS</code> and |
9096 | <code class="varname">MAKE_FLAGS</code>?</p></td> | | 9096 | <code class="varname">MAKE_FLAGS</code>?</p></td> |
9097 | </tr> | | 9097 | </tr> |
9098 | <tr class="answer"> | | 9098 | <tr class="answer"> |
9099 | <td align="left" valign="top"></td> | | 9099 | <td align="left" valign="top"></td> |
9100 | <td align="left" valign="top"><p><code class="varname">MAKEFLAGS</code> are the flags passed | | 9100 | <td align="left" valign="top"><p><code class="varname">MAKEFLAGS</code> are the flags passed |
9101 | to the pkgsrc-internal invocations of <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?make+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, while | | 9101 | to the pkgsrc-internal invocations of <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?make+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, while |
9102 | <code class="varname">MAKE_FLAGS</code> are the flags that are passed to | | 9102 | <code class="varname">MAKE_FLAGS</code> are the flags that are passed to |
9103 | the <code class="varname">MAKE_PROGRAM</code> when building the | | 9103 | the <code class="varname">MAKE_PROGRAM</code> when building the |
9104 | package. [FIXME: What is .MAKEFLAGS for?]</p></td> | | 9104 | package. [FIXME: What is .MAKEFLAGS for?]</p></td> |
9105 | </tr> | | 9105 | </tr> |
9106 | <tr class="question"> | | 9106 | <tr class="question"> |
9107 | <td align="left" valign="top"> | | 9107 | <td align="left" valign="top"> |
9108 | <a name="devfaq.make"></a><a name="idm81674512"></a><p><b>24.2.</b></p> | | 9108 | <a name="devfaq.make"></a><a name="idm79473936"></a><p><b>24.2.</b></p> |
9109 | </td> | | 9109 | </td> |
9110 | <td align="left" valign="top"><p>What is the difference between | | 9110 | <td align="left" valign="top"><p>What is the difference between |
9111 | <code class="varname">MAKE</code>, <code class="varname">GMAKE</code> and | | 9111 | <code class="varname">MAKE</code>, <code class="varname">GMAKE</code> and |
9112 | <code class="varname">MAKE_PROGRAM</code>?</p></td> | | 9112 | <code class="varname">MAKE_PROGRAM</code>?</p></td> |
9113 | </tr> | | 9113 | </tr> |
9114 | <tr class="answer"> | | 9114 | <tr class="answer"> |
9115 | <td align="left" valign="top"></td> | | 9115 | <td align="left" valign="top"></td> |
9116 | <td align="left" valign="top"><p><code class="varname">MAKE</code> is the path to the | | 9116 | <td align="left" valign="top"><p><code class="varname">MAKE</code> is the path to the |
9117 | <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?make+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> program that is used in the pkgsrc | | 9117 | <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?make+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> program that is used in the pkgsrc |
9118 | infrastructure. <code class="varname">GMAKE</code> is the path to GNU | | 9118 | infrastructure. <code class="varname">GMAKE</code> is the path to GNU |
9119 | Make, but you need to say <code class="varname">USE_TOOLS+=gmake</code> to | | 9119 | Make, but you need to say <code class="varname">USE_TOOLS+=gmake</code> to |
9120 | use that. <code class="varname">MAKE_PROGRAM</code> is the path to the | | 9120 | use that. <code class="varname">MAKE_PROGRAM</code> is the path to the |
9121 | Make program that is used for building the | | 9121 | Make program that is used for building the |
9122 | package.</p></td> | | 9122 | package.</p></td> |
9123 | </tr> | | 9123 | </tr> |
9124 | <tr class="question"> | | 9124 | <tr class="question"> |
9125 | <td align="left" valign="top"> | | 9125 | <td align="left" valign="top"> |
9126 | <a name="devfaq.cc"></a><a name="idm81670032"></a><p><b>24.3.</b></p> | | 9126 | <a name="devfaq.cc"></a><a name="idm79469456"></a><p><b>24.3.</b></p> |
9127 | </td> | | 9127 | </td> |
9128 | <td align="left" valign="top"><p>What is the difference between | | 9128 | <td align="left" valign="top"><p>What is the difference between |
9129 | <code class="varname">CC</code>, <code class="varname">PKG_CC</code> and | | 9129 | <code class="varname">CC</code>, <code class="varname">PKG_CC</code> and |
9130 | <code class="varname">PKGSRC_COMPILER</code>?</p></td> | | 9130 | <code class="varname">PKGSRC_COMPILER</code>?</p></td> |
9131 | </tr> | | 9131 | </tr> |
9132 | <tr class="answer"> | | 9132 | <tr class="answer"> |
9133 | <td align="left" valign="top"></td> | | 9133 | <td align="left" valign="top"></td> |
9134 | <td align="left" valign="top"><p><code class="varname">CC</code> is the path to the real C | | 9134 | <td align="left" valign="top"><p><code class="varname">CC</code> is the path to the real C |
9135 | compiler, which can be configured by the pkgsrc user. | | 9135 | compiler, which can be configured by the pkgsrc user. |
9136 | <code class="varname">PKG_CC</code> is the path to the compiler wrapper. | | 9136 | <code class="varname">PKG_CC</code> is the path to the compiler wrapper. |
9137 | <code class="varname">PKGSRC_COMPILER</code> is <span class="emphasis"><em>not</em></span> a | | 9137 | <code class="varname">PKGSRC_COMPILER</code> is <span class="emphasis"><em>not</em></span> a |
9138 | path to a compiler, but the type of compiler that should be | | 9138 | path to a compiler, but the type of compiler that should be |
9139 | used. See <code class="filename">mk/compiler.mk</code> for more | | 9139 | used. See <code class="filename">mk/compiler.mk</code> for more |
9140 | information about the latter variable.</p></td> | | 9140 | information about the latter variable.</p></td> |
9141 | </tr> | | 9141 | </tr> |
9142 | <tr class="question"> | | 9142 | <tr class="question"> |
9143 | <td align="left" valign="top"> | | 9143 | <td align="left" valign="top"> |
9144 | <a name="devfaq.bl3flags"></a><a name="idm81665936"></a><p><b>24.4.</b></p> | | 9144 | <a name="devfaq.bl3flags"></a><a name="idm79465360"></a><p><b>24.4.</b></p> |
9145 | </td> | | 9145 | </td> |
9146 | <td align="left" valign="top"><p>What is the difference between | | 9146 | <td align="left" valign="top"><p>What is the difference between |
9147 | <code class="varname">BUILDLINK_LDFLAGS</code>, | | 9147 | <code class="varname">BUILDLINK_LDFLAGS</code>, |
9148 | <code class="varname">BUILDLINK_LDADD</code> and | | 9148 | <code class="varname">BUILDLINK_LDADD</code> and |
9149 | <code class="varname">BUILDLINK_LIBS</code>?</p></td> | | 9149 | <code class="varname">BUILDLINK_LIBS</code>?</p></td> |
9150 | </tr> | | 9150 | </tr> |
9151 | <tr class="answer"> | | 9151 | <tr class="answer"> |
9152 | <td align="left" valign="top"></td> | | 9152 | <td align="left" valign="top"></td> |
9153 | <td align="left" valign="top"><p>[FIXME]</p></td> | | 9153 | <td align="left" valign="top"><p>[FIXME]</p></td> |
9154 | </tr> | | 9154 | </tr> |
9155 | <tr class="question"> | | 9155 | <tr class="question"> |
9156 | <td align="left" valign="top"> | | 9156 | <td align="left" valign="top"> |
9157 | <a name="devfaq.bl3prefix"></a><a name="idm81663632"></a><p><b>24.5.</b></p> | | 9157 | <a name="devfaq.bl3prefix"></a><a name="idm79463184"></a><p><b>24.5.</b></p> |
9158 | </td> | | 9158 | </td> |
9159 | <td align="left" valign="top"><p>Why does <span class="command"><strong>make show-var | | 9159 | <td align="left" valign="top"><p>Why does <span class="command"><strong>make show-var |
9160 | VARNAME=BUILDLINK_PREFIX.<em class="replaceable"><code>foo</code></em></strong></span> | | 9160 | VARNAME=BUILDLINK_PREFIX.<em class="replaceable"><code>foo</code></em></strong></span> |
9161 | say it's empty?</p></td> | | 9161 | say it's empty?</p></td> |
9162 | </tr> | | 9162 | </tr> |
9163 | <tr class="answer"> | | 9163 | <tr class="answer"> |
9164 | <td align="left" valign="top"></td> | | 9164 | <td align="left" valign="top"></td> |
9165 | <td align="left" valign="top"><p>For optimization reasons, some variables are only | | 9165 | <td align="left" valign="top"><p>For optimization reasons, some variables are only |
9166 | available in the <span class="quote">“<span class="quote">wrapper</span>”</span> phase and later. To | | 9166 | available in the <span class="quote">“<span class="quote">wrapper</span>”</span> phase and later. To |
9167 | <span class="quote">“<span class="quote">simulate</span>”</span> the wrapper phase, append | | 9167 | <span class="quote">“<span class="quote">simulate</span>”</span> the wrapper phase, append |
9168 | <span class="command"><strong>PKG_PHASE=wrapper</strong></span> to the above | | 9168 | <span class="command"><strong>PKG_PHASE=wrapper</strong></span> to the above |
9169 | command.</p></td> | | 9169 | command.</p></td> |
9170 | </tr> | | 9170 | </tr> |
9171 | <tr class="question"> | | 9171 | <tr class="question"> |
9172 | <td align="left" valign="top"> | | 9172 | <td align="left" valign="top"> |
9173 | <a name="devfaq.master_sites"></a><a name="idm81660560"></a><p><b>24.6.</b></p> | | 9173 | <a name="devfaq.master_sites"></a><a name="idm79451792"></a><p><b>24.6.</b></p> |
9174 | </td> | | 9174 | </td> |
9175 | <td align="left" valign="top"><p>What does | | 9175 | <td align="left" valign="top"><p>What does |
9176 | <code class="code">${MASTER_SITE_SOURCEFORGE:=package/}</code> mean? I | | 9176 | <code class="code">${MASTER_SITE_SOURCEFORGE:=package/}</code> mean? I |
9177 | don't understand the <code class="code">:=</code> inside | | 9177 | don't understand the <code class="code">:=</code> inside |
9178 | it.</p></td> | | 9178 | it.</p></td> |
9179 | </tr> | | 9179 | </tr> |
9180 | <tr class="answer"> | | 9180 | <tr class="answer"> |
9181 | <td align="left" valign="top"></td> | | 9181 | <td align="left" valign="top"></td> |
9182 | <td align="left" valign="top"><p>The <code class="code">:=</code> is not really an | | 9182 | <td align="left" valign="top"><p>The <code class="code">:=</code> is not really an |
9183 | assignment operator, although it looks like it. | | 9183 | assignment operator, although it looks like it. |
9184 | Instead, it is a degenerate form of | | 9184 | Instead, it is a degenerate form of |
9185 | <code class="code">${LIST:<em class="replaceable"><code>old_string</code></em>=<em class="replaceable"><code>new_string</code></em>}</code>, | | 9185 | <code class="code">${LIST:<em class="replaceable"><code>old_string</code></em>=<em class="replaceable"><code>new_string</code></em>}</code>, |
9186 | which is documented in the <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?make+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man page and which is | | 9186 | which is documented in the <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?make+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man page and which is |
9187 | commonly used in the form <code class="code">${SRCS:.c=.o}</code>. In the | | 9187 | commonly used in the form <code class="code">${SRCS:.c=.o}</code>. In the |
9188 | case of <code class="varname">MASTER_SITE_*</code>, | | 9188 | case of <code class="varname">MASTER_SITE_*</code>, |
9189 | <em class="replaceable"><code>old_string</code></em> is the empty string and | | 9189 | <em class="replaceable"><code>old_string</code></em> is the empty string and |
9190 | <em class="replaceable"><code>new_string</code></em> is | | 9190 | <em class="replaceable"><code>new_string</code></em> is |
9191 | <code class="code">package/</code>. That's where the | | 9191 | <code class="code">package/</code>. That's where the |
9192 | <code class="code">:</code> and the <code class="code">=</code> fall | | 9192 | <code class="code">:</code> and the <code class="code">=</code> fall |
9193 | together.</p></td> | | 9193 | together.</p></td> |
9194 | </tr> | | 9194 | </tr> |
9195 | <tr class="question"> | | 9195 | <tr class="question"> |
9196 | <td align="left" valign="top"> | | 9196 | <td align="left" valign="top"> |
9197 | <a name="devfaq.mailinglists"></a><a name="idm81653648"></a><p><b>24.7.</b></p> | | 9197 | <a name="devfaq.mailinglists"></a><a name="idm79444880"></a><p><b>24.7.</b></p> |
9198 | </td> | | 9198 | </td> |
9199 | <td align="left" valign="top"><p>Which mailing lists are there for package | | 9199 | <td align="left" valign="top"><p>Which mailing lists are there for package |
9200 | developers?</p></td> | | 9200 | developers?</p></td> |
9201 | </tr> | | 9201 | </tr> |
9202 | <tr class="answer"> | | 9202 | <tr class="answer"> |
9203 | <td align="left" valign="top"></td> | | 9203 | <td align="left" valign="top"></td> |
9204 | <td align="left" valign="top"><div class="variablelist"><dl class="variablelist"> | | 9204 | <td align="left" valign="top"><div class="variablelist"><dl class="variablelist"> |
9205 | <dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#tech-pkg" target="_top">tech-pkg</a></span></dt> | | 9205 | <dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#tech-pkg" target="_top">tech-pkg</a></span></dt> |
9206 | <dd><p>This is a list for technical discussions related | | 9206 | <dd><p>This is a list for technical discussions related |
9207 | to pkgsrc development, e.g. soliciting feedback for changes to | | 9207 | to pkgsrc development, e.g. soliciting feedback for changes to |
9208 | pkgsrc infrastructure, proposed new features, questions related | | 9208 | pkgsrc infrastructure, proposed new features, questions related |
9209 | to porting pkgsrc to a new platform, advice for maintaining a | | 9209 | to porting pkgsrc to a new platform, advice for maintaining a |
9210 | package, patches that affect many packages, help requests moved | | 9210 | package, patches that affect many packages, help requests moved |
9211 | from pkgsrc-users when an infrastructure bug is found, | | 9211 | from pkgsrc-users when an infrastructure bug is found, |
9212 | etc.</p></dd> | | 9212 | etc.</p></dd> |
9213 | <dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bugs" target="_top">pkgsrc-bugs</a></span></dt> | | 9213 | <dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bugs" target="_top">pkgsrc-bugs</a></span></dt> |
9214 | <dd><p>All bug reports in category "pkg" sent with | | 9214 | <dd><p>All bug reports in category "pkg" sent with |
9215 | <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> appear here. Please do not report your bugs here | | 9215 | <a class="citerefentry" href="https://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1.i386+NetBSD-8.1"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> appear here. Please do not report your bugs here |
9216 | directly; use one of the other mailing | | 9216 | directly; use one of the other mailing |
9217 | lists.</p></dd> | | 9217 | lists.</p></dd> |
9218 | </dl></div></td> | | 9218 | </dl></div></td> |
9219 | </tr> | | 9219 | </tr> |
9220 | <tr class="question"> | | 9220 | <tr class="question"> |
9221 | <td align="left" valign="top"> | | 9221 | <td align="left" valign="top"> |
9222 | <a name="devfaq.documentation"></a><a name="idm81649936"></a><p><b>24.8.</b></p> | | 9222 | <a name="devfaq.documentation"></a><a name="idm79441168"></a><p><b>24.8.</b></p> |
9223 | </td> | | 9223 | </td> |
9224 | <td align="left" valign="top"><p>Where is the pkgsrc | | 9224 | <td align="left" valign="top"><p>Where is the pkgsrc |
9225 | documentation?</p></td> | | 9225 | documentation?</p></td> |
9226 | </tr> | | 9226 | </tr> |
9227 | <tr class="answer"> | | 9227 | <tr class="answer"> |
9228 | <td align="left" valign="top"></td> | | 9228 | <td align="left" valign="top"></td> |
9229 | <td align="left" valign="top"> | | 9229 | <td align="left" valign="top"> |
9230 | <p>There are many places where you can find | | 9230 | <p>There are many places where you can find |
9231 | documentation about pkgsrc:</p> | | 9231 | documentation about pkgsrc:</p> |
9232 | <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> | | 9232 | <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> |
9233 | <li class="listitem"><p>The pkgsrc guide (this document) is a collection | | 9233 | <li class="listitem"><p>The pkgsrc guide (this document) is a collection |
9234 | of chapters that explain large parts of pkgsrc, but some | | 9234 | of chapters that explain large parts of pkgsrc, but some |
9235 | chapters tend to be outdated. Which ones they are is hard to | | 9235 | chapters tend to be outdated. Which ones they are is hard to |
| @@ -9257,27 +9257,27 @@ do? | | | @@ -9257,27 +9257,27 @@ do? |
9257 | documented</span>”</span>, that is the documentation exists only in the | | 9257 | documented</span>”</span>, that is the documentation exists only in the |
9258 | mind of the developer who wrote the code. To get this | | 9258 | mind of the developer who wrote the code. To get this |
9259 | information, use the <span class="command"><strong>cvs annotate</strong></span> command | | 9259 | information, use the <span class="command"><strong>cvs annotate</strong></span> command |
9260 | to see who has written it and ask on the | | 9260 | to see who has written it and ask on the |
9261 | <code class="literal">tech-pkg</code> mailing list, so that others can | | 9261 | <code class="literal">tech-pkg</code> mailing list, so that others can |
9262 | find your questions later (see above). To be sure that the | | 9262 | find your questions later (see above). To be sure that the |
9263 | developer in charge reads the mail, you may CC him or | | 9263 | developer in charge reads the mail, you may CC him or |
9264 | her.</p></li> | | 9264 | her.</p></li> |
9265 | </ul></div> | | 9265 | </ul></div> |
9266 | </td> | | 9266 | </td> |
9267 | </tr> | | 9267 | </tr> |
9268 | <tr class="question"> | | 9268 | <tr class="question"> |
9269 | <td align="left" valign="top"> | | 9269 | <td align="left" valign="top"> |
9270 | <a name="devfaq.too-much-time"></a><a name="idm81635216"></a><p><b>24.9.</b></p> | | 9270 | <a name="devfaq.too-much-time"></a><a name="idm79434640"></a><p><b>24.9.</b></p> |
9271 | </td> | | 9271 | </td> |
9272 | <td align="left" valign="top"><p>I have a little time to kill. What shall I | | 9272 | <td align="left" valign="top"><p>I have a little time to kill. What shall I |
9273 | do?</p></td> | | 9273 | do?</p></td> |
9274 | </tr> | | 9274 | </tr> |
9275 | <tr class="answer"> | | 9275 | <tr class="answer"> |
9276 | <td align="left" valign="top"></td> | | 9276 | <td align="left" valign="top"></td> |
9277 | <td align="left" valign="top"> | | 9277 | <td align="left" valign="top"> |
9278 | <p>This is not really an FAQ yet, but here's the answer | | 9278 | <p>This is not really an FAQ yet, but here's the answer |
9279 | anyway.</p> | | 9279 | anyway.</p> |
9280 | <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> | | 9280 | <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> |
9281 | <li class="listitem"><p>Run <span class="command"><strong>pkg_chk -N</strong></span> (from the | | 9281 | <li class="listitem"><p>Run <span class="command"><strong>pkg_chk -N</strong></span> (from the |
9282 | <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_chk/README.html" target="_top"><code class="filename">pkgtools/pkg_chk</code></a> package). It | | 9282 | <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_chk/README.html" target="_top"><code class="filename">pkgtools/pkg_chk</code></a> package). It |
9283 | will tell you about newer versions of installed packages that are | | 9283 | will tell you about newer versions of installed packages that are |
| @@ -10104,27 +10104,27 @@ output_require "^[[:alpha:]+[[:space:]][ | | | @@ -10104,27 +10104,27 @@ output_require "^[[:alpha:]+[[:space:]][ |
10104 | this exercise.</p> | | 10104 | this exercise.</p> |
10105 | <div class="sect1"> | | 10105 | <div class="sect1"> |
10106 | <div class="titlepage"><div><div><h2 class="title" style="clear: both"> | | 10106 | <div class="titlepage"><div><div><h2 class="title" style="clear: both"> |
10107 | <a name="example-files"></a>A.1. files</h2></div></div></div> | | 10107 | <a name="example-files"></a>A.1. files</h2></div></div></div> |
10108 | <div class="sect2"> | | 10108 | <div class="sect2"> |
10109 | <div class="titlepage"><div><div><h3 class="title"> | | 10109 | <div class="titlepage"><div><div><h3 class="title"> |
10110 | <a name="example-Makefile"></a>A.1.1. Makefile</h3></div></div></div> | | 10110 | <a name="example-Makefile"></a>A.1.1. Makefile</h3></div></div></div> |
10111 | <pre class="programlisting"> | | 10111 | <pre class="programlisting"> |
10112 | # $NetBSD$ | | 10112 | # $NetBSD$ |
10113 | # | | 10113 | # |
10114 | | | 10114 | |
10115 | DISTNAME= bison-1.25 | | 10115 | DISTNAME= bison-1.25 |
10116 | CATEGORIES= devel | | 10116 | CATEGORIES= devel |
10117 | MASTER_SITES= ${MASTER_SITE_GNU} | | 10117 | MASTER_SITES= ${MASTER_SITE_GNU:=bison/} |
10118 | | | 10118 | |
10119 | MAINTAINER= pkgsrc-users@NetBSD.org | | 10119 | MAINTAINER= pkgsrc-users@NetBSD.org |
10120 | HOMEPAGE= http://www.gnu.org/software/bison/bison.html | | 10120 | HOMEPAGE= http://www.gnu.org/software/bison/bison.html |
10121 | COMMENT= GNU yacc clone | | 10121 | COMMENT= GNU yacc clone |
10122 | | | 10122 | |
10123 | GNU_CONFIGURE= yes | | 10123 | GNU_CONFIGURE= yes |
10124 | INFO_FILES= yes | | 10124 | INFO_FILES= yes |
10125 | | | 10125 | |
10126 | .include "../../mk/bsd.pkg.mk" | | 10126 | .include "../../mk/bsd.pkg.mk" |
10127 | </pre> | | 10127 | </pre> |
10128 | </div> | | 10128 | </div> |
10129 | <div class="sect2"> | | 10129 | <div class="sect2"> |
10130 | <div class="titlepage"><div><div><h3 class="title"> | | 10130 | <div class="titlepage"><div><div><h3 class="title"> |
| @@ -10144,30 +10144,37 @@ bin/bison | | | @@ -10144,30 +10144,37 @@ bin/bison |
10144 | man/man1/bison.1.gz | | 10144 | man/man1/bison.1.gz |
10145 | share/bison.simple | | 10145 | share/bison.simple |
10146 | share/bison.hairy | | 10146 | share/bison.hairy |
10147 | </pre> | | 10147 | </pre> |
10148 | </div> | | 10148 | </div> |
10149 | <div class="sect2"> | | 10149 | <div class="sect2"> |
10150 | <div class="titlepage"><div><div><h3 class="title"> | | 10150 | <div class="titlepage"><div><div><h3 class="title"> |
10151 | <a name="checking-package-with-pkglint"></a>A.1.4. Checking a package with <span class="command"><strong>pkglint</strong></span> | | 10151 | <a name="checking-package-with-pkglint"></a>A.1.4. Checking a package with <span class="command"><strong>pkglint</strong></span> |
10152 | </h3></div></div></div> | | 10152 | </h3></div></div></div> |
10153 | <p>The NetBSD package system comes with | | 10153 | <p>The NetBSD package system comes with |
10154 | <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkglint/README.html" target="_top"><code class="filename">pkgtools/pkglint</code></a> | | 10154 | <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkglint/README.html" target="_top"><code class="filename">pkgtools/pkglint</code></a> |
10155 | which helps to check the contents of these | | 10155 | which helps to check the contents of these |
10156 | files. After installation it is quite easy to use, just change to the | | 10156 | files. After installation it is quite easy to use, just change to the |
10157 | directory of the package you wish to examine and execute | | 10157 | directory of the package you wish to examine and run |
10158 | <span class="command"><strong>pkglint</strong></span>:</p> | | 10158 | <span class="command"><strong>pkglint</strong></span>:</p> |
10159 | <pre class="screen"><code class="prompt">$</code> <strong class="userinput"><code>pkglint</code></strong> | | 10159 | <pre class="screen"><code class="prompt">$</code> <strong class="userinput"><code>pkglint</code></strong> |
10160 | looks fine.</pre> | | 10160 | ERROR: Makefile: Each package must define its LICENSE. |
| | | 10161 | WARN: Makefile:9: HOMEPAGE should migrate from http to https. |
| | | 10162 | NOTE: PLIST:3: The .gz extension is unnecessary for manual pages. |
| | | 10163 | WARN: PLIST:5: "share/bison.hairy" should be sorted before "share/bison.simple". |
| | | 10164 | 1 error, 2 warnings and 1 note found. |
| | | 10165 | (Run "pkglint -e" to show explanations.) |
| | | 10166 | (Run "pkglint -fs" to show what can be fixed automatically.) |
| | | 10167 | (Run "pkglint.exe -F" to automatically fix some issues.)</pre> |
10161 | <p>Depending on the supplied command line arguments (see pkglint(1)), | | 10168 | <p>Depending on the supplied command line arguments (see pkglint(1)), |
10162 | more checks will be performed. Use e.g. <span class="command"><strong>pkglint | | 10169 | more checks will be performed. Use e.g. <span class="command"><strong>pkglint |
10163 | -Wall</strong></span> for a very thorough check.</p> | | 10170 | -Wall</strong></span> for a very thorough check.</p> |
10164 | </div> | | 10171 | </div> |
10165 | </div> | | 10172 | </div> |
10166 | <div class="sect1"> | | 10173 | <div class="sect1"> |
10167 | <div class="titlepage"><div><div><h2 class="title" style="clear: both"> | | 10174 | <div class="titlepage"><div><div><h2 class="title" style="clear: both"> |
10168 | <a name="steps-for-b-i-p"></a>A.2. Steps for building, installing, packaging</h2></div></div></div> | | 10175 | <a name="steps-for-b-i-p"></a>A.2. Steps for building, installing, packaging</h2></div></div></div> |
10169 | <p>Create the directory where the package lives, | | 10176 | <p>Create the directory where the package lives, |
10170 | plus any auxiliary directories:</p> | | 10177 | plus any auxiliary directories:</p> |
10171 | <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>cd /usr/pkgsrc/lang</code></strong> | | 10178 | <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>cd /usr/pkgsrc/lang</code></strong> |
10172 | <code class="prompt">#</code> <strong class="userinput"><code>mkdir bison</code></strong> | | 10179 | <code class="prompt">#</code> <strong class="userinput"><code>mkdir bison</code></strong> |
10173 | <code class="prompt">#</code> <strong class="userinput"><code>cd bison</code></strong> | | 10180 | <code class="prompt">#</code> <strong class="userinput"><code>cd bison</code></strong> |