Solved Proper update to FreeBSD 11.0-BETA4


Always use HTTPS for it unless you have an extremely good reason not to use a secure connection. It is sadly not uncommon for some ISPs to recklessly inject unrequested content into HTTP, which is certainly not acceptable or desirable with SVN. It also leaves you vulnerable to attacks by nation-states, some of which now have a track record which includes suppressing SMTP STARTTLS to subvert encryption; large scale MITM attacks by state actors are now a known thing, so SSL and verified certificates are essential for critical source code. SVN should automatically authenticate the server certificates with security/ca_root_nss installed, or you can find the key fingerprints at https://www.freebsd.org/doc/handbook/svn.html.

That howto is negligent for suggesting a plain HTTP URL.
 
I used the /base/head location per the first instructions and ended up with FreeBSD 12 from the looks of the UPDATING file.
I decided to proceed as I am curious. I was tempted to turn off WITNESS and all the debug options.
I will wipe it out after checking it out due to insecure http source.
Thanks for the tips.
Glad I asked now.
 
Another procedural question:
This svn method makes a /head folder under root.
When updating should I first delete my old /usr/src and copy contents of the /root/head over to it? I see wblock@'s example uses /usr/src.

I decided to bail on my FreeBSD 12 upgrade and deleted questionable source..

Is it bad to build this under Xfce terminal window? Am I losing alot of speed this way?
 
When updating should I first delete my old usr/src and copy contents of the /root/head over to it?

For converting an existing /usr/src to SVN, I recommend this:

Code:
mv /usr/src /usr/src.old
svn co https://svn.freebsd.org/base/stable/11 /usr/src

If memory serves, that should leave you with it directly in /usr/src, rather than /usr/src/something. If not, SVN working copies can be quite safely mv'd as a whole. If you add the following to /etc/make.conf, make update will use SVN (for all of /usr/{doc,ports,src}), assuming that you have devel/subversion installed (recommended instead of svnlite).

Code:
SVN_UPDATE=yes
SVN=/usr/local/bin/svn
 
The standard is /usr/src. The example appeared to only not use it to avoid a little typing.

It also should not be in /root/, because that filesystem has limited space on some systems.

Building in an xfce terminal window might reduce speed somewhat. It antialiases fonts, and graphic scrolling is not all that quick. Run sysutils/tmux, start the build, then background it with ctrl-B d. Reattach with tmux attach after it finishes.
 
Looking at that mailing list post I see my error, I left off the upgrade option. I knew i was missing an [option].
freebsd-update upgrade -r 11.0-BETA4
 
All good at BETA4.
At the end of the second round of freebsd-update install It alerts to rebuild all third party software built from ports.
I am unsure if that means to re-install all packages as well? I only use packages.
 
Last edited:
Turns out that last step was very important. I stupidly ran freebsd-update install a third time and many things broke including Xorg and pkg_ng.
I should have reinstallled all my packages before running it a third time and maybe even ports update prior would have been wise to fall back on.
Seems shared library objects for SSL and Xorg needed updates. Probably others.
Oh well was a good learning experience.
 
So looking around the next time I will try this:

Force upgrade of pkg(8) itself. pkg upgrade -f pkg
Force upgrade of all installed packages. pkg upgrade -f
 
For what it's worth, a source upgrade (that is, from /usr/src, running svnlite up), went without trouble and all of the (relatively few) packages are working without upgrading, including Xorg. This is on a fairly generic Thinkpad L420 that I mainly use for browsing, some media, and terminals to connect to other things, so I wouldn't call this a reliable barometer. :)
 
Here was my problem:

poot@Dell:~#pkg
Shared object "libssl.so.7" not found, required by "pkg"


+++I found this in a error message from make file for jansson+++
pkg-static install -f pkg
It fixed my pkg command

I also ran pkg upgrade -f and I am back in business.

As stated above I simply messed up. If I had ran pkg upgrade -f at the right time all would have been fine. I am surprised i was able to fix it myself.
Glad I had ports installed(to find - pkg-static install -f pkg from a ports instructions).
 
Last edited:
As someone who recently upgraded through source to 11-beta3 recently, I would said that quite a number of ports would broke if you perform the following step:
# make delete-old-libs
And I guess freebsd-update will delete the old libraries in some point.
 
For what it's worth, a source upgrade (that is, from /usr/src, running svnlite up), went without trouble and all of the (relatively few) packages are working without upgrading, including Xorg. This is on a fairly generic Thinkpad L420 that I mainly use for browsing, some media, and terminals to connect to other things, so I wouldn't call this a reliable barometer. :)
Packages will work as long as you don't touch any of them. pkg(8) will point this out in no uncertain terms. Ports, though... don't try to build just a few. Rebuild and reinstall them all.
 
As someone who recently upgraded through source to 11-beta3 recently, I would said that quite a number of ports would broke if you perform the following step:
# make delete-old-libs
And I guess freebsd-update will delete the old libraries in some point.

This is expected and completely by the design of the upgrade methodology. You are expected to know to reinstall or rebuild every single installed port/package when going from one major version of FreeBSD to the next major version.
 
Back
Top