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

File: [local] / www / Attic / ports.html (download) (as text)

Revision 1.30, Sat May 27 14:51:26 2000 UTC (24 years ago) by espie
Branch: MAIN
Changes since 1.29: +47 -8 lines

Acknowledge reality:
- ports is tracking the 2.7 release,
- encourage people to use packages,
- remove the portstat link for now, this resource is ridiculously outdated,
we look like dorks...

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="resource-type" content="document">
<meta name="description" CONTENT="How OpenBSD can make use of the FreeBSD ports">
<meta name="keywords" content="openbsd,ports">
<meta name="distribution" content="global">
<meta name="copyright" content="copyright 1997-1999 by the OpenBSD project">

<title>OpenBSD Ports and Packages</title>
<link rev="made" HREF="mailto:www@openbsd.org">

<body text="#000000" bgcolor="#FFFFFF" link="#23238E">

<img height=30 width=141 src=images/smalltitle.gif alt="[OpenBSD]" >
<center><h2><font color=#e00000>OpenBSD ports tree is currently tracking OpenBSD 2.7
(release)</font></h2></center>
<hr>

<h2><font color=#e00000>Ports and Packages</font><hr></h2>

<h3><font color=#0000e0>History</font></h3>

<p>
OpenBSD is a fairly complete system of its own, but still there is a lot
of software that one might want see added. However there is the problem
on where to draw the line as to what to include, as well as the occasional
licensing and export restriction problems.  As OpenBSD is supposed to be
a small stand-alone UNIX-like operating system, some things just can't be
shipped with the system.

<p>
We wanted to find a way for users to easily get software we don't provide
and started to look around. We didn't have to look far, as sibling project
<a href="http://www.freebsd.org/">FreeBSD</a> already had an 
	excellent mechanism
for exactly this purpose called
<a href="http://www.freebsd.org/ports/">"The ports collection"</a>.

<p>
At first we tried to use their collection as-is, but due to
incompatibility problems between FreeBSD and OpenBSD we decided to branch
out and create our very own OpenBSD Ports Project using FreeBSD's as a
starting point.  This also allows us to tune the ports better to our
system.

<h3><font color=#0000e0>Short description and setup</font></h3>

<p>
The ports idea is to have, for each piece of software, a Makefile that
controls
<ul>
<li>where to fetch it,
<li>how to do the fetch,
<li>what it depends upon (if anything),
<li>how to alter the sources (if needed),
<li>and how to configure, build and install it.
</ul>
<p>
This information is kept in a directory hierarchy under the
/usr/ports directory.
<h3><font color=#0000e0>Getting the Ports tree</font></h3>
<p>
You can ftp the release version from the pub/OpenBSD/[version] (where
[version] is the release number) directory on any of the
<a href=ftp.html>ftp mirror sites</a>.
The release versions are the ones we ship on our CDROM, and have gone
through more testing than any snapshot.
<p>
Further information is available in the 
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ports&sektion=7&format=html">ports(7)</a> man page.

<h3><font color=#0000e0>Ports versus packages</font></h3>

<p>
For common architectures, you don't necessarily have to compile anything
in the ports tree. With the advent of OpenBSD 2.7, a large set of 
pre-compiled packages will be available:
<ul>
<li>On the CD-Rom (that you can pre-order <a href="orders.html">here</a>),
<li>On the ftp mirrors.
</ul>
OpenBSD documentation includes more information on the proper use of
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=packages&sektion=7&format=html">packages</a>.

<h3><font color=#0000e0>Ports update for an OpenBSD release</font></h3>

<p>
The ports tree, like the rest of OpenBSD, is constantly changing.  While
we try to maintain ports compatibility through the lifetime of a particular
release, sometimes issues beyond our control occur.  For example, particular
versions of the ported package might no longer be available  (But this
specific problem should be solved now).

<p>
The normal life cycle of the ports tree is as follows:
<ul>
<li>Track the latest release of OpenBSD for a few months after the release
comes out.
<li>Switch to tracking OpenBSD-current about two months before the next
release.
</ul>

<p>
The change of status will be widely publicized on the 
<a href=mail.html>Mailing lists</a>.

<p>The ports tree works as a single entity. Updating a single directory is
not guaranteed to work, as package dependencies may force you to update
and recompile vast portions of the ports tree.

<p>It is strongly suggested that people don't track ports-current unless
they're prepared to deal with various problems.
<a href=mail.html>Mailing lists</a> such as source-changes or tech will
probably be invaluable.

<p>
The ports-current tree can be retrieved via:
<ul>
<li><a href=anoncvs.html>Anonymous CVS</a> (see link).  The command is
essentially <strong>cvs get ports</strong>.
<li>Anonymous ftp from
<a href="ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/ports.tar.gz">
ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/ports.tar.gz</a>.
	This archive is updated nightly.
<li>Your web browser using the 
<a href="http://www.openbsd.org/cgi-bin/cvsweb/ports/">CVS
	web interface</a>.
</ul>

<h3><font color=#0000e0>Example use of the Ports tree</font></h3>

<p>
Let's say you managed to get a ports tree and you want to compile and
install the archiving utility <code>unzip</code>.  You should be able to
	do something like this:
<pre>
% cd /usr/ports/archivers/unzip
% su
# make
# make install
# exit
</pre>
Easy, huh?

<!--
<h3><font color=#0000e0>Port status information</font></h3>

<p>
The <a href="portstat.html">ports status page</a> is updated as
team members add new ports and verify existing ports.  Existing
ports are continually verified to validate source availability and
proper operation with OpenBSD -current.  The page notes the date last
checked and the nature of any change.  This is a new resource that is not
yet complete.  If you have any information to add to the status page
please send it to
<a href="mailto:ports@openbsd.org">ports@openbsd.org</a>.
-->

<h3><font color=#0000e0>Creating new ports</font></h3>

<p>
If you are interested in helping to expand the OpenBSD ports tree
you should first read <a href="porting.html">porting.html</a>.
That page references the porting section of the
<a href="http://www.freebsd.org/handbook/">FreeBSD handbook</a>
as well as OpenBSD specific policies and hints.

<h3><font color=#0000e0>Problems and contacts</font></h3>

<p>
If you have trouble with ports please send e-mail to the OpenBSD
ports mailing list, <a href="mailto:ports@openbsd.org">ports@openbsd.org</a>.
Corrections are always welcome, but in any case do please provide:
<ul>
<li>The output of <code>uname -a</code>,
<li>Your OpenBSD version, including any patches you may have applied,
<li>A complete description of the problem.

</ul>

<hr>
<a href="index.html"><img height=24 width=24 src=back.gif border=0 alt=OpenBSD></a> 
<a href=mailto:www@openbsd.org>www@openbsd.org</a>
<br><small>$OpenBSD: ports.html,v 1.30 2000/05/27 14:51:26 espie Exp $</small>
</body>
</html>