Solved Moving from 12-CURRENT to 12.0-STABLE

I have one system (a HTPC / media player) on which I run 12-CURRENT, due to the lack of DRM support that existed earlier in 11.x. As the release of 12.0 is around the corner, I was wondering if the following steps would allow me to jump ship from Current to Stable:

  1. Move / delete the old /usr/src directory
  2. Check out 12.0-STABLE with svn
  3. Build base as usual
  4. Re-build all ports?
Am I missing anything, any reasons why this should not be done? Bear in mind this is just a HTPC, not a server or anything else important.
 
This sounds about right, yeah. I'd definitely rebuild all ports as well just to make sure nothing weird slipped in somewhere along the way.
 
I've done exactly this a long time ago when I was using 5.x-CURRENT and moved it to 5.x-STABLE after it was released. The trick is to always move forwards and don't jump back. The best option is to probably jump to 12.0-BETA1 from the release svn branch when it's branched and then jump back to the stable branch after the release has been done. Otherwise the current branch will probably move onwards past where you want to be.
 
You may have to do backwards merges on your configuration files with mergemaster(8), pay attention what is offered as changes, make sure you select the entries that belong to stable/12 and not to head.
 
Thank you for all the answers and help!
I will make sure that I don't update base on the CURRENT branch between now and the date in September when I can switch to 12.0-STABLE. I guess that should assure that my system is not ahead of the STABLE branch.
 
I have one system (a HTPC / media player) on which I run 12-CURRENT, due to the lack of DRM support that existed earlier in 11.x. As the release of 12.0 is around the corner, I was wondering if the following steps would allow me to jump ship from Current to Stable:

  1. Move / delete the old /usr/src directory
  2. Check out 12.0-STABLE with svn
  3. Build base as usual
  4. Re-build all ports?
Am I missing anything, any reasons why this should not be done? Bear in mind this is just a HTPC, not a server or anything else important.

Read https://www.freebsd.org/doc/handbook/makeworld.html

Follow section 23.5.1. Quick Start exactly and you should be good to go.

Buildworld takes a while to complete, you may wish to look into the Binary update method instead.
 
Read https://www.freebsd.org/doc/handbook/makeworld.html

Follow section 23.5.1. Quick Start exactly and you should be good to go.

Buildworld takes a while to complete, you may wish to look into the Binary update method instead.

Not helpful and quite condescending. Since I am was running 12-CURRENT on the system, you might understand that I am very familiar with upgrading from source and I am well aware of the general guidance in the FreeBSD handbook. This thread here answered my specific questions, which were not addressed in the handbook, before you chimed in (if you read anything in the thread, that is).
 
Final update: I followed the described procedure and it went well, system is fully functional on 12.0-BETA2 now and will continue to track STABLE. Rebuilding 600-odd ports took a while, especially with many portupgrade issues. Probably time to retire that tool.
 
Rebuilding 600-odd ports took a while, especially with many portupgrade issues. Probably time to retire that tool.
Consider switching to packages. Or, if you must deviate from the defaults, set up your own repository.
 
Consider switching to packages. Or, if you must deviate from the defaults, set up your own repository.

Using packages is probably not a bad idea, as the machine is quite under-powered and in a desktop, not server role. I guess I built from ports because I do so on servers for various reasons. Force of habit, I guess.
 
I guess I built from ports because I do so on servers for various reasons.
Especially if you have to maintain multiple servers, set up your own repository. Build once, install many.
 
Not helpful and quite condescending.

If that's condescending, then what is "RTFM" ? ;)

I figure most of us here are largely the same sort of people who prefer quick & snappy answers because we are all in a rush to nowhere. But more importantly, you were successful; this is why The Handbook for FreeBSD is the de facto "All-The-Things". I'm occasionally irritated by the inevitable 3:07AM "Oh god I gotta read through all that just to find out one tiny procedure, at this hour?!", even though it always turns out to be a rather short excursion...world-class levels of literature skimming...and all of 5 minutes to gather the answer out of El Handibookus Daemonus.

The binary vs source update choice I suppose is a matter of preference vs need. Binary probably works best for most.

As to your ports upgrading adventure: I've dabbled with ccache, which cuts a fair chunk of time out of the whole procedure; particularly when buildworld'ing.
You may wish to have a go at portmaster -ady --no-confirm , I use it 99% of the time and suits my purposes well enough (I leave my FreeBSD servers largely alone and stick to pkg, but for my personal desktops/laptops I need more specific tweaks). I've had my fair share of make install clean issues regarding dependency-build-incompatible-breaks, that I've moved mostly away from tradition. I'd come across issues with using portupgrade previously as well, where portmaster on the other hand worked without a problem.
When it comes to building massive ports like rust, firefox or iridium for instance, I offload that to a crazy fast Xeon/SkyLake-X box and simply fetch the package it built later on. Not ideal, but suits my needs just fine.

We are all going to end up being the stubborn, set in our ways, insistent on build-everything out of habit, elderly computer nerds at the retirement home, aren't we?
 
Back
Top