Ports upgrade question

(I'm fairly new to FreeBSD, but not to Unix in general. I've run AIX and Linux for years.)
I've been reading the Handbook sections on upgrades and such, and am not clear on best practices for upgrading the ports.

From what I read, I think there is only one choice about upgrading ports: Either upgrade or don't. That is, there is no "ports for FreeBSD 7" nor "ports if you're following -CURRENT or -STABLE" nor any other option. Is this true?

If it's not true, can you please point me at docs that explains the options.

If it IS true, then does this imply that any reasonable port will run on any reasonable version of FreeBSD? Or is the port expected to configure its installation so it DOES run on any FreeBSD version?

Also, I read somewhere (Handbook?) that any FreeBSD upgrade would like break all my ports, and they should be reinstalled. is this true? If so, why is that? Shouldn't ports be not so fragile?
 
Yes, I can see now that I should have posted this to the ports upgrade/maint forum, but I'm new here, and missed it.
 
tgphelps said:
From what I read, I think there is only one choice about upgrading ports: Either upgrade or don't. That is, there is no "ports for FreeBSD 7" nor "ports if you're following -CURRENT or -STABLE" nor any other option. Is this true?
Yes, there is just one branch for ports.

tgphelps said:
If it IS true, then does this imply that any reasonable port will run on any reasonable version of FreeBSD? Or is the port expected to configure its installation so it DOES run on any FreeBSD version?
No. I think that at this moment, ports are supported only for 6 and above.

tgphelps said:
Also, I read somewhere (Handbook?) that any FreeBSD upgrade would like break all my ports, and they should be reinstalled. is this true? If so, why is that? Shouldn't ports be not so fragile?
Probably what you read is that if you upgrade between FreeBSD major versions you have to reinstall all the ports.
The reason could be the differences between libraries in the base system, to which the built ports (packages) has been compiled and linked.
 
you do not have to reinstall
if you upgrade you can
#ldd /bin/local/bin/SOMETHING and it will show if any
"not founds" exist or if the binary still works
with /compat6x/ /compat7x/ etc already installed (unclear
here if BOTH kernel AND /port/ of the compat6 etc are necc.)
you can deinstall and rebuild the port or fetch a package
(the latter might fail of dependencies which need bumping).
.........
so before an upgrade you'd want your critical programs list
to check, and Possibly! rebuild immediately.
.........
caveat, the process might be more tedious if .so 's also
fail in addition to binaries.
...........
to sum up, while testing a new motherboard, I coincidentally
had source on the new disk, did a _6 _7 and everything that
I tried still worked IIRC (I remember only a few minutes of it though)
 
The ports sysutils/bsdadminscripts contains a script called [cmd=]pkg_libchk[/cmd] that can list all packages that require rebuilding.

After a system upgrade you can install misc/compatXx (replace X with your previous major version) to keep things running. However you should reinstall the packages listed by pkg_libchk for performance reasons.
 
Back
Top