To use ports, the ports tree synchronized to the OS must be obtained separately from the OS, and the building of applications is done through the ports infrastructure. There is no manual download of anything other than, possibly, a -release ports tree, if the -release flavor of the OS is being used. The ports system of OpenBSD builds and then installs packages. There is no reason to build an identical package that is already available.
When using the package system, there is no tree to install. But neither, =normally=, is anything manually downloaded.
A user who has lost a file obtained via lynx is not one I would have use the ports system.
15.4.6 - What should I use: packages or ports?
In general, you are highly advised to use packages over building an application from ports. The OpenBSD ports team considers packages to be the goal of their porting work, not the ports themselves. Building a complex application from source is not trivial. Not only must the application be compiled, but the tools used to build it must be built as well. Unfortunately, OpenBSD, the tools, and the application are all evolving, and often, getting all the pieces working together is a challenge. Once everything works, a revision in any of the pieces the next day could render it broken. Every six months, as a new release of OpenBSD is made, an effort is made to test the building of every port on every platform, but during the development cycle it is likely that some ports will break.
In addition to having all the pieces work together, there is just the matter of time and resources required to compile some applications from source. A common example is CVSup, a tool commonly used to track the OpenBSD source tree. To install CVSup on a moderately fast system with a good Internet connection may take only about ten seconds -- the time required to download and unpack a single 779kB package file. In contrast, building CVSup on the same machine from source is a huge task, requiring many tools and bootstrapping a compiler, taking almost half an hour on the same machine. Other applications, such as Mozilla or KDE may take hours and huge amounts of disk space and RAM/swap to build. Why go through this much time and effort, when the programs are already compiled and sitting on your CD-ROM or FTP mirror, waiting to be used?
Of course, there are a few good reasons to use ports over packages in some cases:
However, for most people and most applications, using packages is a much easier, and definitely the recommended way of adding applications to an OpenBSD system.
- Distribution rules prohibit OpenBSD from distributing a package.
- You wish to modify or debug the application or study its source code.
- You need a flavor of a port that is not built by the OpenBSD ports team.
- You wish to alter the directory layout (i.e. modifying PREFIX or SYSCONFDIR).