PDA

View Full Version : Ports upgrade question


tgphelps
January 15th, 2009, 14:57
(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?

tgphelps
January 15th, 2009, 14:59
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.

ale
January 15th, 2009, 15:08
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.

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.


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.

jb_fvwm2
January 16th, 2009, 03:56
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)

kamikaze
January 16th, 2009, 17:58
The ports sysutils/bsdadminscripts contains a script called pkg_libchk 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.