Solved "Revert" from CURRENT to STABLE?

I've looked around the web a bit for info on this and didn't find too much, so forgive and correct me if this is a mundane/inane post. For a year or so I've been periodically trying out FreeBSD on my laptop, but some lacking ACPI support has held me back from switching to it as my primary OS. So I was pretty happy to find that 11-CURRENT happens to work perfectly on my machine---everything works neatly straight out of the install. Here's the thing, though---one of the things that made FreeBSD stand out from the alternatives I considered was the balance between stale and bleeding-edge offered by -STABLE.

Now that I have a working CURRENT install, I've got a question about the development track: Is it possible to, after a time, revert to the STABLE branch? If I understand correctly, shouldn't I be able to checkout the source from STABLE at some point down the line, rebuild world and the kernel and track that branch from then on? If so, how far behind CURRENT is STABLE (I suppose I should look into now the devs use Subversion commit numbers)? If not, then I suppose reinstalling or waiting for the next release would be the correct course, right? Thanks in advance for the info.
 
Now that I have a working CURRENT install, I've got a question about the development track: Is it possible to, after a time, revert to the STABLE branch? If I understand correctly, shouldn't I be able to checkout the source from STABLE at some point down the line, rebuild world and the kernel and track that branch from then on? If so, how far behind CURRENT is STABLE (I suppose I should look into now the devs use Subversion commit numbers)? If not, then I suppose reinstalling or waiting for the next release would be the correct course, right? Thanks in advance for the info.
In general, there's no downgrade facility to an earlier branch. You'd probably be better off reinstalling. Some changes made to CURRENT get MFC'd to STABLE (if they don't break any KBI/ABI compatibility). If there's a specific change you need, you might be able to ask for it to be MFC'd.

There are currently (no pun intended) three STABLE branches - 8-STABLE, 9-STABLE, and 10-STABLE. 8 will be EOL at the end of June, 2015. At some point, a snapshot of CURRENT will become 11-STABLE and CURRENT will move along and be the place where 12 is developed. At the point where 11-STABLE is created, the *BI's are guaranteed to not change, but there may be some bugs that need addressing. That's why I normally wait for an x.1 release (I'm working on testing 10.1 now, with a plan to begin migration of my 8-STABLE (8.4) systems to 10.1 around the first of the year. With any luck, all systems will be migrated well before the 8-STABLE EOL date.

If you can continue running CURRENT for some time, as I said above it will eventually become 11-STABLE. I haven't seen any official dates for this, though a number of committers have mentioned wanting to get things into shape to be able to freeze the *BI by the spring. That doesn't necessarily mean that 11.0 will be released in the spring, though.
 
If you can continue running CURRENT for some time, as I said above it will eventually become 11-STABLE.

Thanks for the response. I may end up doing this on my production laptop, provided I don't necessarily need to update my ports in the meantime. I've got rather simple work needs, and so far I haven't come across any problems. I have two identical machines (Thinkpad T520), one of which I use as a media center/general purpose home server/experiment with fun stuff box, and I'll be installing 10-STABLE on that this afternoon. I can see if the ACPI functions work on that install. They really aren't necessary on that machine so I'll be using 10-STABLE regardless, but I can just reinstall 10-STABLE on my production laptop if everything on the server box works.

Follow-up question: If I were to choose to continue running CURRENT on this laptop, would the expectation be that I actually follow the tip of development, or would staying with the snapshot I installed and not updating be reasonable? I imagine the package repositories used by pkgng get updated on CURRENT pretty frequently, so I'd have to just use a ports snapshot and not update it, I suppose... I know these are noobish questions (sorry), but the info on CURRENT and STABLE in the handbook seems a bit sparse.
 
-CURRENT is an unsupported version. Users running -CURRENT know they can and will run into trouble and they know how to fix things. -CURRENT is the bleeding edge of development and as such might prove unstable or slow and at times will even fail to build correctly. You should really only use it if you are developing for FreeBSD.

If you want the latest features while keeping things working and stable you should run -STABLE instead.
 
SirDice said:
-CURRENT is the bleeding edge of development and as such might prove unstable or slow and at times will even fail to build correctly.
Yeah, I get that, but my general question was about knowing roughly how far behind -CURRENT each -STABLE snapshot happens to be. I'm not saying I want to actively track -CURRENT, it's just that the -CURRENT snapshot I downloaded and installed on Saturday works fantastically with my machine, while the 10.1-STABLE snapshot I downloaded and installed today is lacking a vital piece of functionality.

I've set up the home server box I mentioned with the latest 10.1-STABLE snapshot image. Everything seems to work great except LCD brightness, which is pretty essential to using a laptop and works out of the box on -CURRENT (I've tried xbacklight, which didn't work, and xbrightness, which is terrible). So is there any way to know when 10.1-STABLE will hit the point at which -CURRENT is now, other than just repeatedly testing snapshots like once per week? Are the mailing lists the best way to track this? Or am I still completely misunderstanding the RELENG process?
 
-STABLE is just ongoing development in a branch of FreeBSD. While it sometimes gets new features and bug fixes that are Merged From Current (MFCed), it will not ever turn into -CURRENT.

-CURRENT is the newest branch on the tree, what will turn into FreeBSD-11 when released. Effectively, -CURRENT is FreeBSD-11-STABLE.

Just in case: http://www.wonkity.com/~wblock/docs/html/stable.html talks about what "stable" really means, a stable ABI, not "tested and proven".
 
I see. So what you're saying is that while the fixes I'm hoping for (which I already know are in the source tree) may get merged into what is presently -STABLE, they also may be withheld until the next -RELEASE, and there's no real way to predict either outcome.
 
I see. So what you're saying is that while the fixes I'm hoping for (which I already know are in the source tree) may get merged into what is presently -STABLE, they also may be withheld until the next -RELEASE, and there's no real way to predict either outcome.
If a fix applies to prior versions, and it can be made without breaking the *BI on a prior version, it will get MFC'd if it is important enough or if it is considered useful to a large group of users and doesn't require a lot of work to MFC it (sometimes interfaces or whole subsystems change and it isn't possible to simply back-port the change - it would need to be re-designed completely). Sometimes a polite request to the appropriate maintainer will help.

Conversely, if you want to tackle the programming, you could try back-porting the feature yourself. Needless to say, you're responsible for whatever effects that has on your system, good or bad - "No user serviceable parts inside".

If a given snapshot of CURRENT and its ports tree works for you, great. As SirDice mentions, it is a development release and things can (and usually will) change out from under you. There are two main areas where this can cause you problems:
  • Security updates - you won't be easily able to install a security update and will need to study the notice and find out how to apply the patch to your particular revision of the source tree, or update to the latest CURRENT and deal with whatever other breakage happens.
  • Ports - there's no guarantee that pre-built ports from CURRENT will continue to install/work properly at whatever revision of CURRENT you installed. You can always build the port from source, though.
 
Thanks a lot for the feedback, folks. Very informative. For the time being I've got 10.1-STABLE on both boxes, as the learning curve doesn't seem too steep to handle the occasional setback on that branch (while I'm way too much of a noob to deal with -CURRENT). Backporting features myself definitely isn't an option, but I'll see if I can't get in touch with the devs handling ACPI stuff and see what their plans are. I can work around the screen brightness issue with xrandr for the time being. I'll mark this as "solved."
 
Back
Top