version 1.3, 1998/08/16 00:16:31 |
version 1.4, 1998/09/09 02:45:25 |
|
|
<a href=mailto:marc@snafu.org>marc@snafu.org</a>. |
<a href=mailto:marc@snafu.org>marc@snafu.org</a>. |
<p> |
<p> |
<ol> |
<ol> |
|
<li>To avoid duplication, subscribe to the ports@openbsd.org |
|
mailing list - somebody may be already working on the same port as you. |
|
<p> |
<li>Create Makefile -- start with this skeleton |
<li>Create Makefile -- start with this skeleton |
<a href="#makefile">makefile</a>. |
<a href="#makefile">makefile</a>. |
<p> |
<p> |
|
|
package first do a <code>pkg_delete</code> and then do a |
package first do a <code>pkg_delete</code> and then do a |
<code>pkg_add</code> The results after an add should EXACTLY |
<code>pkg_add</code> The results after an add should EXACTLY |
match the results after a `make install'. |
match the results after a `make install'. |
|
<p> |
|
<LI>Distribute it!</BR> |
|
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. |
|
<UL> |
|
<LI>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). |
|
<P>The ports@openbsd mailing list is a good place to find porting-savy |
|
people with different platforms! |
|
<LI>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. |
|
<LI>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. |
|
Import uses "vendor branch" version numbers like 1.1.1.1, but don't worry |
|
about that! :-) If you make changes to a specific file (edit, then |
|
cvs commit), it will be 1.2, and that will be used. |
|
<P> |
|
In short, import is typically used when a port is created. |
|
From that point on cvs add and cvs rm are typically used to add or remove |
|
files, and the normal edit->commit cycle for changes. |
|
<P> |
|
You might use something like this: |
|
<PRE> |
|
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 \ |
|
<I>YourName</I> <I>YourName_YYYY-MMM-DD</I> |
|
</PRE> |
|
<P>-d cvs.openbsd.org:/cvs says where cvs lives. This can be omitted if you |
|
have a CVS_ROOT environment variable defined. |
|
<P>-m 'kaffe port' is your login message. Change it to whatever you like |
|
<P>ports/lang/kaffe1 is the path relative to /cvs where the port lives |
|
<P><I>YourName</I> (replaced with your login name) is the "vendor tag". |
|
You imported it so you are the vendor. |
|
<P><I>YourName_YYYY-MMM-DD</I> (e.g., ian_2000-Jan-01) |
|
is the 'vendor release tag'. This is as good as any. |
|
<P>As a real example, here is the output of checking in the Kaffe1 port, |
|
which one of us did on September 8, 1998: |
|
<PRE> |
|
$ cd kaffe1 |
|
$ make clean >/dev/null |
|
$ cvs import -m 'kaffe1.0(==JDK1.1) port' ports/lang/kaffe1 ian ian_1998-Sep-08 |
|
ian@cvs.openbsd.org's password: (not shown, obviously) |
|
I ports/lang/kaffe1/CVS |
|
I ports/lang/kaffe1/files/CVS |
|
I ports/lang/kaffe1/pkg/CVS |
|
N ports/lang/kaffe1/Makefile |
|
cvs server: Importing /cvs/ports/lang/kaffe1/files |
|
N ports/lang/kaffe1/files/md5 |
|
cvs server: Importing /cvs/ports/lang/kaffe1/pkg |
|
N ports/lang/kaffe1/pkg/COMMENT |
|
N ports/lang/kaffe1/pkg/DESCR |
|
N ports/lang/kaffe1/pkg/PLIST |
|
|
|
No conflicts created by this import |
|
$ |
|
</PRE> |
|
<P>If you do not have CVS commit access, send mail to the ports |
|
maintainers at ports@openbsd.org, |
|
stating that you have a port ready to go into the tree. List the |
|
name and version of the program, the platforms it's been tested on, |
|
and any limitations. |
|
</UL> |
|
<P> |
|
<LI>Maintain the port!<BR> |
|
As time goes by, problems may arise, or new versions of the software |
|
may be released. You should strive to keep your port up to date. |
|
In other words - iterate, test, test, iterate, ... |
</ol> |
</ol> |
|
Thank you for supporting the OpenBSD "ports" process! |
<hr> |
<hr> |
<a name=makefile> |
<a name=makefile> |
<h2><font color=#e00000>Skeleton ports makefile</font></h2> |
<h2><font color=#e00000>Skeleton ports makefile</font></h2> |