[BACK]Return to porttest.html CVS log [TXT][DIR] Up to [local] / www

Diff for /www/Attic/porttest.html between version 1.7 and 1.8

version 1.7, 2002/09/11 09:31:13 version 1.8, 2002/09/11 12:16:10
Line 35 
Line 35 
     "#0000e0">Introduction</font></a></h2>      "#0000e0">Introduction</font></a></h2>
   
     <p>The <a href="ports.html">ports tree</a> is an huge piece of work that      <p>The <a href="ports.html">ports tree</a> is an huge piece of work that
     permits OpenBSD users to use third-party programs without losing time in      permits OpenBSD users to use third-party programs without wasting time
     patching, configuring, etc. This work is done by a few volunteers who      patching, configuring and installing each one individually. This work
     spend hours making your favorite applications work fine on your      is done by a few volunteers who spend hours making your favorite
     system. Many people think that they can't help our project because they      applications work fine on your system. Many people think that they
     don't have enough knowledge; this is false because they can help porters      cannot help our project because they do not have enough knowledge;
     work better and faster.</p>      this is false because they can help porters work better and faster.</p>
   
     <h2><a name="How"><font color="#0000e0">How</font></a></h2>      <h2><a name="How"><font color="#0000e0">How</font></a></h2>
   
     <p>Simply by testing submitted updates or new ports which are posted on      <p>Testing submitted updates or new ports which are posted on the
     <a href="mail.html">ports mailing list</a>. By doing this      <a href="mail.html">ports mailing list</a>. By doing this
     you reduce the latency of commits and also increase the number of ports to      you reduce the latency of commits and also increase the number of ports to
     be committed (many ports are not committed because of lack of testing!).</p>      be committed (many ports are not committed because of lack of testing!).</p>
   
     <h2><a name="First"><font color="#0000e0">First step</font></a></h2>      <h2><a name="First"><font color="#0000e0">First step</font></a></h2>
   
     <p>Before starting the tester must have in mind that ports development is      <p>The ports tree is developed against
     done with <a href="plus.html">OpenBSD-current</a> as target.This means      <a href="plus.html">OpenBSD-current</a>; there is no guarantee that
     that there is no guarantee that new ports will work correctly on the other      new ports will work correctly on the other branches. This also means
     branches. This also means that the tester should upgrade his system to      you should upgrade your system and ports tree to -current
     -current as well as the ports tree (instructions on how to do this can be      (instructions on how to do this can be found at the
     found at the <a href="../anoncvs.html">anoncvs</a> page and in the      <a href="../anoncvs.html">anoncvs</a> page and in the
     proper <a href="./upgrade-minifaq.html">faq section</a>.      <a href="./upgrade-minifaq.html">FAQ</a>).
     Having this done, the system is now prepared to do port testing. It is also      It is also recommended that you subscribe to the ports and ports-changes
     advisable the subscription of ports and ports-changes      <a href="../mail.html">mailing-lists</a>. This way you will be notified
     <a href="../mail.html">mailing-lists</a>, this way the tester will be notified      about new or updated ports and about changes in the ports tree.</p>
     about new/updated ports (to be tested) and about changes in the ports  
     tree.</p>  
   
     <h2><a name="Testing"><font color="#0000e0">Testing</font></a></h2>      <h2><a name="Testing"><font color="#0000e0">Testing</font></a></h2>
   
     <p>In the mailing-lists two types of submission can be found; new ports      <p>There are two types of submissions on the mailing-lists; new ports
     and updates. New ports are generally posted as tarball attachment      and updates. New ports are generally posted as tarball attachments
     (or an url is given) which contains the port tree. A good idea is to extract      or urls. A good idea is to extract them into the
     it into the <tt>/usr/ports/mystuff/</tt> directory and test the port from here.      <tt>/usr/ports/mystuff/</tt> directory and test from there.
     Updates are generally a diff against current ports tree, so it is suggested      Updates are generally a diff against the -current ports tree, so it is best
     to copy the port in <tt>mystuff/</tt> and apply the diff to prevent tree      to copy the port to <tt>mystuff/</tt> and apply the diff to prevent tree
     breakage.</p>      breakage.</p>
   
     <p>Step-by-step building is needed to verify that every target, see      <p>Step-by-step building is needed to verify that every target, see
Line 79 
Line 77 
     ports(7)</a>, is achieved correctly :</p>      ports(7)</a>, is achieved correctly :</p>
   
     <ul>      <ul>
       <li>fetch : Needed to verify that distfile(s) are correctly downloaded.</li>        <li><i>fetch</i>
           <ul>
            <li>Needed to verify that distfile(s) are correctly downloaded. Try to test all of the <tt>MASTER_SITES</tt> specified to make sure they are all valid sources.</li>
         </ul>
   
       <li>extract : Generally extract is done without a problem, this target can        <li><i>extract</i>
       be ignored in most cases.</li>          <ul><li>Each of the distfiles should install any dependent programs (such as bzip2) beforehand.</li></ul>
   
       <li>patch : Check if patches are applied correctly and track down        <li><i>patch</i>
       forgotten <tt>.orig</tt> files.</li>          <ul>
            <li>Patches should apply cleanly without any warnings.
            <li>There shouldn't be any <tt>.orig</tt> files left behind in the
                <tt>patches/</tt> directory.
            <li>Another common mistake is to include RCS tags in a patch; this will break when the port is checked into the repository and the RCS tag expanded.
           </ul>
   
       <li>configure : For ports which use a configure script the tester can        <li><i>configure</i>
       verify if it has the correct path for dependencies, use(less) features,          <ul>
       etc ...</li>           <li>Check that configure scripts correctly detect features
                on your platform.
            <li>GNU libtool is notorious for undesired 'features' on OpenBSD,
                so check that the port is using a recent version which creates
                correct libraries on your architecture.
            <li>The configure script should not detect stray applications already
                installed on your system without explicit dependencies being
                set in the port.
           </ul>
   
       <li>build : The build itself should not give errors but could contain        <li><i>build</i>
       minor warnings about <a href=          <ul>
            <li>Check for build errors and suspicious warnings.
            <li>Warnings about <a href=
       "http://www.openbsd.org/cgi-bin/man.cgi?query=tmpnam&amp;sektion=3&amp;">        "http://www.openbsd.org/cgi-bin/man.cgi?query=tmpnam&amp;sektion=3&amp;">
       tmpnam(3)</a> issues to be resolved by using        tmpnam(3)</a> issues should be resolved by using
       <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mkstemp&amp;sektion=3&amp;">        <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mkstemp&amp;sektion=3&amp;"> mkstemp(3)</a>.</li>
       mkstemp(3)</a>.</li>           <li>Try to set the <tt>SEPARATE_BUILD</tt> variable to 'concurrent' and test if the build still works.
            <li>Make sure dependencies on GNU make are really necessary.
           </ul>
   
       <li>fake : This target fakes installation of the package and prepares        <li><i>fake</i>
       its installation. Checking can be done by verifying that files are          <ul>
       properly installed in the fake directory.</li>           <li>This target installs the application into a fake working
            directory, to ensure that all files can be easily packaged up
            without affecting the base system.
            <li>The port should <b>never</b> install files outside of the
            fake directory (such as into <tt>/usr/local</tt>).
            <li>GNU libtool occasionally has trouble relinking libraries
            during the fake process on some architectures.
           </ul>
   
       <li>package : Package creation can break if pkg/PLIST* and/or        <li><i>package</i>
       pkg/PFRAG* are wrong.</li>          <ul>
            <li>Package creation can break if pkg/PLIST* and/or
            pkg/PFRAG* are wrong.</li>
           </ul>
   
       <li>install : Check that package installation works fine.</li>        <li><i>install</i>
           <ul>
            <li>Packages should install all of the files from their packaging
            lists successfully and with the correct permissions.  Be especially
            careful of files with the setuid bits set.
            <li>Make sure that the package <tt>INSTALL</tt> script works
            correctly, and does not overwrite any files in <tt>/etc</tt>.
           </ul>
   
       <li>deinstall : Don't forget to test deinstall.</li>        <li><i>deinstall</i>
           <ul>
            <li>This should remove all files installed by the package, except
            those in <tt>/etc</tt>.
            <li>Make sure that the <tt>DEINSTALL</tt> script works as expected.
           </ul>
     </ul>      </ul>
   
     <p>Checking of pkg/ files like DESCR, MESSAGE, INSTALL,      <p>Checking of pkg/ files like DESCR, MESSAGE, INSTALL,
Line 154 
Line 194 
     as well as providing diffs to correct bugs, add flavors, or other      as well as providing diffs to correct bugs, add flavors, or other
     enhancements.</p>      enhancements.</p>
     <hr>      <hr>
       <small>
     <address>  
       <p>$OpenBSD$<br>        <p>$OpenBSD$<br>
        OpenBSD Copyright &copy; 2002 OpenBSD</p>         OpenBSD Copyright &copy; 2002 OpenBSD</p>
     </address>      </small>
   </body>    </body>
 </html>  </html>

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8