=================================================================== RCS file: /cvsrepo/anoncvs/cvs/www/Attic/checklist.html,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- www/Attic/checklist.html 1999/04/29 22:35:29 1.13 +++ www/Attic/checklist.html 1999/05/02 15:33:20 1.14 @@ -1,3 +1,4 @@ + [OpenBSD] -

OpenBSD Porting Checklist

+

OpenBSD Porting Checklist

I use this checklist as a reminder of things to do when creating new ports and when validating old ports. I don't claim this list is totally accurate, much less perfect, but only hope that some find it useful. Direct any questions and/or comments to me at - marc@snafu.org. + marc@snafu.org.

  1. To avoid duplication, subscribe to the ports@openbsd.org @@ -33,7 +34,7 @@
  2. Create Makefile -- start with the provided Makefile template /usr/ports/Makefile.template. This file can be retrieved from any of the anoncvs servers or via the - OpenBSD cvs/web source brouser system + OpenBSD cvs/web source browser system http://www.openbsd.org/cgi-bin/cvsweb/.

  3. make fetch
    @@ -46,19 +47,22 @@

  4. make extract
    Ensures that the file can be extracted into the work directory. - This also verifies that the checksum created in step 3 is good. + This also verifies that the checksum created in step 4 is good.

  5. Create initial patches
    When the extract is complete cd to the work directory and read any install docs. You may need to modify the WRKSRC variable in the makefile as well as generate initial patches to configure - for openbsd. + for OpenBSD.

    Note: Patches go in the directory `patches' and are names patch-xx where xx should be aa, ab, ..., az, ba, bb ... zz.

  6. make patch
    @@ -74,7 +78,7 @@ directory named scripts. This will be run before any configuration specified by GNU_CONFIGURE or HAS_CONFIGURE is run.

    If GNU_CONFIGURE is used you may want to run ./configure --help - to see what options are available. Anything thay you may want to + to see what options are available. Anything that you may want to override can be changed by adding the --option flags to the CONFIGURE_ARGS parameter in the Makefile

    @@ -87,11 +91,14 @@

  7. make configure
    Peruse the output (if any) and tweak any options in the Makefile. - To repeat issue the command `make clean && make configure'. -

    Note: make sure host dependent files go in /etc or /etc/, but - NEVER replace existing files in /etc. Best to have install place - in /usr/local/lib/ and then copy to /etc or /etc/ only - the files do not exist. + To repeat issue the command + `make clean && make configure'. +

    Note: make sure host dependent files go in /etc or + /etc/<name>, but NEVER replace existing files + in /etc. Best to have install place + in /usr/local/lib/<name> and then copy to + /etc or + /etc/<name> only if the files do not exist.

    The OpenBSD file locations are:

    @@ -99,15 +106,15 @@
        system admin executables:		/usr/local/sbin
        program executables:			/usr/local/libexec
        libraries				/usr/local/lib
    -   architecture dependent data		/usr/local/lib/
    +   architecture dependent data		/usr/local/lib/<name>
        installed include files:		/usr/local/include or
    -					/usr/local/include/
    -   single-machine data:			/etc or /etc/
    +					/usr/local/include/<name>
    +   single-machine data:			/etc or /etc/<name>
        local state:				/var/run
        GNU info files:			/usr/local/info
        man pages:				/usr/local/man/...
    -   read-only architecture-independent:	/usr/local/share/
    -   misc documentation:			/usr/local/share/doc/
    +   read-only architecture-independent:	/usr/local/share/<name>
    +   misc documentation:			/usr/local/share/doc/<name>
            

    @@ -132,8 +139,9 @@

  8. mkdir pkg; touch pkg/{DESCR,COMMENT,PLIST}
    Create dummy versions of the package files. Edit DESCR and COMMENT.

    COMMENT is a SHORT one-line description of the port - (max. 60 characters). Do NOT include the - package name (or version number of the software) in the comment. + (max. 60 characters). Do NOT include the package name (or version number + of the software) in the comment. Do NOT start by an uppercase letter + unless semantically significant, do NOT end by a dot.

    DESCR is a longer description of the port. One to a few paragraphs concisely explaining what the port does is sufficient.

    PLIST is kept empty at this point. @@ -149,9 +157,9 @@ should list audited potential problems, along with relevant patches, so that another person can see at first glance what has been done. Example: -

     
    -      $OpenBDS$
    +
     
    +      $OpenBSD$
     
           ${WRKDIR}/receiver.c
              call to mktemp (wrapper function do_mktemp) does seem to be correct.
    @@ -191,10 +199,10 @@
        

  9. uninstall and reinstall; repeat until perfect.
    Perfect is when everything installs and uninstalls - in its proper location. `pkg_delete ' is used to - uninstall. `sudo make reinstall' is used to reinstall. See the - `pkg_create' man page for other commands that may be added to PLIST - to ensure all is cleaned up. After an uninstall the command + in its proper location. `pkg_delete <pkg_name>' is + used to uninstall. `sudo make reinstall' is used to reinstall. See the + `pkg_create' man page for other commands that may be added + to PLIST to ensure all is cleaned up. After an uninstall the command

    find /usr/local -newer work/.install_started -print

    should only list standard directory names.

    @@ -205,21 +213,21 @@ pkg_add The results after an add should EXACTLY match the results after a `make install'.

    -

  10. Distribute it!
    +
  11. Distribute it!
    Since the whole point of this process is to make your ported version of the software available to other OpenBSD users, you now need to disseminate it. -
      -
    • First, get others to test it on a variety of - platforms (the DEC Alpha is good because it has only static libraries +
        +
      • First, get others to test it on a variety of + platforms (the DEC Alpha is good because it has only static libraries and because sizeof int != sizeof long; Sun SPARC is good because it is very common and because its byte order is the reverse of i386; if you - developed on SPARC, of course, you'd want it tested on i386). + developed on SPARC, of course, y ou'd want it tested on i386).

        The ports@openbsd mailing list is a good place to find porting-savy people with different platforms! -

      • Incorporate any feedback you get. Test it again on your platform. +
      • Incorporate any feedback you get. Test it again on your platform. Get those who gave you feedback to test it again from your new port. -
      • Finally, include it in the "ports" tree. +
      • Finally, include it in the "ports" tree. If you are a developer with CVS access, check it in. We normally use "import" for a new port, rather than adding a zillion (or a dozen) files individually. @@ -232,12 +240,12 @@ files, and the normal edit->commit cycle for changes.

        You might use something like this: -

        +		
         cd kaffe1
         make clean	# you really really don't want to check in all of work!
         cvs -d cvs.openbsd.org:/cvs import -m 'kaffe port' ports/lang/kaffe1 \
         	YourName YourName_YYYY-MMM-DD
        -		
        +

        -d cvs.openbsd.org:/cvs says where cvs lives. This can be omitted if you have a CVS_ROOT environment variable defined.

        -m 'kaffe port' is your login message. Change it to whatever you like @@ -248,7 +256,7 @@ is the 'vendor release tag'. This is as good as any.

        As a real example, here is the output of checking in the Kaffe1 port, which one of us did on September 8, 1998: -

        +		
         $ cd kaffe1
         $ make clean >/dev/null
         $ cvs import -m 'kaffe1.0(==JDK1.1) port' ports/lang/kaffe1 ian ian_1998-Sep-08
        @@ -266,7 +274,7 @@
         
         No conflicts created by this import
         $ 
        -		
        +

        Last but not least, add a one-line entry for the new port in its parent directory's makefile, i.e., for ports/lang/kaffe1, add it to ports/lang/Makefile. @@ -286,7 +294,7 @@


        Porting - www@openbsd.org -
        $OpenBSD: checklist.html,v 1.13 1999/04/29 22:35:29 wvdputte Exp $ + www@openbsd.org +
        $OpenBSD: checklist.html,v 1.14 1999/05/02 15:33:20 rohee Exp $