On 2020-10-28, Ed Gray <e.mask....@gmail.com> wrote:
> Hi Marc,
>
> Thanks for your reply. I think maybe this belongs to ports more than misc.
> But it's a general query about releases and ports as well.
>
> My question was actually about updating the ports tree from an older
> release version before trying to use it rather than whether to use ports or
> packages.

The ports tree does not install things directly, it *always* builds packages.
"make install" runs pkg_add to install the locally built package. Unless you
modify the ports or there's some non-deterministic build behaviour (which would
usually be considered a bug in the port) there's no difference whether you
build it yourself or use a pre-built package, just an increased chance of
frustration if things don't work (and there are more things that can go
wrong).

> I installed 6.2 release I believe and later upgraded to 6.6 release. I
> pulled the release version of ports at some point and later tried to build
> a port which failed due to an outdated dependency. My version of the ports
> tree was outdated but even the newer 6.6 stable version was also outdated.
> When I sent my original email 6.6 was still one of the supported releases
> along with 6.7.
>
> I guess my question is if I run 6.x release and want to build port xyz can
> I expect a port to build using the ports tree that came with the 6.x
> release or must I always use at least the stable version of the ports tree?

If you run release X.Y then the supported options are to use a ports tree with
cvs tag OPENBSD_X_Y_BASE (the tree at the time of release) or OPENBSD_X_Y
(-stable).

> The following question is then if I have a problem building a port due to
> an outdated dependency on a supported release should I report it as an
> issue with the port even if a newer release of openbsd does not have the
> issue?

Excepting minor problems (not usually seen for releases but sometimes seen in
-current) the tree at a particular checkout should be internally consistent,
the dependencies needed are in that tree. We build complete sets of packages
on the faster architectures several times a week so problems with this would
show up.

If you mean an outdated dependency *on your system* rather than in the ports
tree then that would be because you haven't updated installed packages first.
(There will also likely be a mixture of library versions that will cause
conflicts if you build ports with the system in this stage).

If you really want to build from ports to update your system then you either
need to deal with figuring out which to build first to avoid incorrect
combinations (noting that some ports cannot be built, or cannot be *correctly*
built, while an older version of themselves is already installed), or uninstall
all packages and build the complete set that you want.

Otherwise the standard procedure is update base, pkg_add -u, cvs up the ports
tree for the branch that matches the OpenBSD version you're running, and then
you can expect that versions of dependencies are usually correct (special case:
if you run a slow architecture with -current snapshots, the package snapshot
might be too old to be useful, in that case you will need to build a bunch
more yourself).


Reply via email to