Annotation of www/porttest.html, Revision 1.7
1.1 couderc 1: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2:
3: <html>
4: <head>
5: <meta http-equiv="content-type" content="text/html; charset=UTF-8">
6:
1.6 couderc 7: <title>OpenBSD Port Testing Guide</title>
1.1 couderc 8: </head>
9:
10: <body text="#000000" bgcolor="#FFFFFF" link="#23238E">
11: <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src=
12: "images/smalltitle.gif" border="0"></a>
13:
1.6 couderc 14: <h2><font color="#e00000">Port Testing Guide</font></h2>
1.1 couderc 15: <hr>
16:
17: <h2><font color="#0000e0">Index</font></h2>
18:
19: <ul>
20: <li><a href="#Introduction">Introduction</a></li>
21:
22: <li><a href="#How">How</a></li>
23:
24: <li><a href="#First">First step</a></li>
25:
26: <li><a href="#Testing">Testing</a></li>
27:
28: <li><a href="#Commenting">Commenting</a></li>
29:
30: <li><a href="#More">More testing</a></li>
31: </ul>
32: <hr>
33:
34: <h2><a name="Introduction"><font color=
35: "#0000e0">Introduction</font></a></h2>
36:
37: <p>The <a href="ports.html">ports tree</a> is an huge piece of work that
1.5 avsm 38: permits OpenBSD users to use third-party programs without losing time in
1.3 couderc 39: patching, configuring, etc. This work is done by a few volunteers who
40: spend hours making your favorite applications work fine on your
1.1 couderc 41: system. Many people think that they can't help our project because they
1.3 couderc 42: don't have enough knowledge; this is false because they can help porters
1.5 avsm 43: work better and faster.</p>
1.1 couderc 44:
45: <h2><a name="How"><font color="#0000e0">How</font></a></h2>
46:
47: <p>Simply by testing submitted updates or new ports which are posted on
1.6 couderc 48: <a href="mail.html">ports mailing list</a>. By doing this
1.3 couderc 49: you reduce the latency of commits and also increase the number of ports to
50: be committed (many ports are not committed because of lack of testing!).</p>
1.1 couderc 51:
52: <h2><a name="First"><font color="#0000e0">First step</font></a></h2>
53:
1.7 ! couderc 54: <p>Before starting the tester must have in mind that ports development is
! 55: done with <a href="plus.html">OpenBSD-current</a> as target.This means
! 56: that there is no guarantee that new ports will work correctly on the other
! 57: branches. This also means that the tester should upgrade his system to
! 58: -current as well as the ports tree (instructions on how to do this can be
! 59: found at the <a href="../anoncvs.html">anoncvs</a> page and in the
! 60: proper <a href="./upgrade-minifaq.html">faq section</a>.
! 61: Having this done, the system is now prepared to do port testing. It is also
! 62: advisable the subscription of ports and ports-changes
! 63: <a href="../mail.html">mailing-lists</a>, this way the tester will be notified
! 64: about new/updated ports (to be tested) and about changes in the ports
! 65: tree.</p>
! 66:
1.1 couderc 67: <h2><a name="Testing"><font color="#0000e0">Testing</font></a></h2>
68:
1.7 ! couderc 69: <p>In the mailing-lists two types of submission can be found; new ports
! 70: and updates. New ports are generally posted as tarball attachment
! 71: (or an url is given) which contains the port tree. A good idea is to extract
! 72: it into the <tt>/usr/ports/mystuff/</tt> directory and test the port from here.
! 73: Updates are generally a diff against current ports tree, so it is suggested
! 74: to copy the port in <tt>mystuff/</tt> and apply the diff to prevent tree
! 75: breakage.</p>
1.1 couderc 76:
1.7 ! couderc 77: <p>Step-by-step building is needed to verify that every target, see
1.6 couderc 78: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ports&sektion=7&">
1.7 ! couderc 79: ports(7)</a>, is achieved correctly :</p>
1.1 couderc 80:
81: <ul>
1.7 ! couderc 82: <li>fetch : Needed to verify that distfile(s) are correctly downloaded.</li>
1.1 couderc 83:
1.7 ! couderc 84: <li>extract : Generally extract is done without a problem, this target can
! 85: be ignored in most cases.</li>
1.1 couderc 86:
1.7 ! couderc 87: <li>patch : Check if patches are applied correctly and track down
! 88: forgotten <tt>.orig</tt> files.</li>
1.1 couderc 89:
1.7 ! couderc 90: <li>configure : For ports which use a configure script the tester can
! 91: verify if it has the correct path for dependencies, use(less) features,
! 92: etc ...</li>
1.1 couderc 93:
1.3 couderc 94: <li>build : The build itself should not give errors but could contain
95: minor warnings about <a href=
1.6 couderc 96: "http://www.openbsd.org/cgi-bin/man.cgi?query=tmpnam&sektion=3&">
97: tmpnam(3)</a> issues to be resolved by using
98: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mkstemp&sektion=3&">
99: mkstemp(3)</a>.</li>
1.1 couderc 100:
1.7 ! couderc 101: <li>fake : This target fakes installation of the package and prepares
! 102: its installation. Checking can be done by verifying that files are
! 103: properly installed in the fake directory.</li>
1.1 couderc 104:
1.3 couderc 105: <li>package : Package creation can break if pkg/PLIST* and/or
1.1 couderc 106: pkg/PFRAG* are wrong.</li>
107:
1.3 couderc 108: <li>install : Check that package installation works fine.</li>
1.1 couderc 109:
1.3 couderc 110: <li>deinstall : Don't forget to test deinstall.</li>
1.1 couderc 111: </ul>
112:
1.7 ! couderc 113: <p>Checking of pkg/ files like DESCR, MESSAGE, INSTALL,
! 114: DEINSTALL is also to be done</p>
1.1 couderc 115:
116: <h2><a name="Commenting"><font color="#0000e0">Commenting</font></a></h2>
117:
118: <p>At the end of the test comes the really important thing : comments.
1.7 ! couderc 119: Even if the port is working fine comments must be done. If we have ten
1.3 couderc 120: posts where people say that the port runs fine under different architectures
1.7 ! couderc 121: then the commit is done faster. If it does not work then some information
! 122: must be given.
! 123: There are tools that can help in this task, like <a href=
1.1 couderc 124: "http://www.openbsd.org/cgi-bin/cvsweb/ports/infrastructure/build/portslogger">
125: portslogger</a>.</p>
126:
127: <p>Example :<br>
128: </p>
129:
130: <div style="margin-left: 2em">
131: <table border="0" cellpadding="3" width="100%">
132: <tr>
133: <td nowrap bgcolor="#EEEEEE">
134: <pre>
1.6 couderc 135: # make install | /usr/ports/infrastructure/build/portslogger .
1.1 couderc 136: </pre>
137: </td>
138: </tr>
139: </table>
140: </div>
141: <br>
142: <br>
143:
144:
1.3 couderc 145: <p>This will redirect the output into a log file located in the current
1.1 couderc 146: directory.</p>
147:
148: <h2><a name="More"><font color="#0000e0">More testing</font></a></h2>
149:
1.7 ! couderc 150: <p>Check the port Makefile for typos, incorrect links, useless or
! 151: missing variables, correct licensing and correct category.
! 152: For those who are more skilled other targets can be tested like
! 153: lib-depends-check. Patches and pkg directories deep verification
! 154: as well as providing diffs to correct bugs, add flavors, or other
! 155: enhancements.</p>
1.1 couderc 156: <hr>
157:
158: <address>
1.6 couderc 159: <p>$OpenBSD: porttest.html,v 1.5 2002/09/10 21:27:36 avsm Exp $<br>
1.4 couderc 160: OpenBSD Copyright © 2002 OpenBSD</p>
1.1 couderc 161: </address>
162: </body>
163: </html>