First look at the porting information on this page. Then check out the referenced documents, especially the OpenBSD porting checklist.
Test, then re-test, and finally test again!
Submit the port. Create a gzipped tarball of the port directory. You can then either place it on a public FTP or HTTP server, sending its address to ports@openbsd.org or send the port mime encoded to the same address. Pick whichever method works best for you.
/usr/share/mk/bsd.port.mk
. This is the
system ports makefile included at the end of each individual
port makefile. Read the comments at the start of the makefile.
They do a good job of describing the available make options.
/usr/local
is often shared between several machines
thanks to NFS. For this reason, configuration files that are specific
to a given machine can't be stored under /usr/local
,
/etc
is the central repository for per machine
configuration files. Moreover, OpenBSD policy is to never update
files under /etc
automatically. Ports that need some
specific boot setup should advise the administrator about what to do
instead of blindly installing files.
-lcrypt
.libc
.
mktemp
warnings to be fixed.
This is not as simple as s/mktemp/mkstemp/g
. If
you are not absolutely sure of what you are doing please request
help from the ports mailing
list.
strcat/strcpy/strcmp/sprintf
. In general,
sprintf
should be replaced with snprintf
.
$
OpenBSD$
CVS tag to
the Makefile. If importing a port from another system be sure to
leave their tag in the Makefile, too. However, replace the FreeBSD
$
Id$
tag with the
$
FreeBSD$
tag.
/usr/local/bin
or
/usr/X11R6/bin
is in the installers path. A good
way to verify this is to create and install your port while
running as root
with only /bin
and
/usr/bin
in your path.
${MACHINE_ARCH} ==
alpha
curses.h/libcurses/libtermlib
are the
``new curses''. Change:ncurses.h ==> curses.h
-lncurses ==> -lcurses
ocurses.h/libocurses
.