Discussion:
releng: how to follow NetBSD-6 STABLE branch
Helge Mühlmeier
2014-05-13 23:00:55 UTC
Permalink
Hi,

yesterday I checked out netbsd-6 and build a distribution. I read the
NetBSD-Guide Chapter 33 and thought to get a NetBSD-6 STABLE after
building the distribution.

In real I got a NetBSD-6.1 STABLE...

Maybe I haven't realy understood how branches work but I guess I should
have checked out a NetBSD-6.1 branch for a NetBSD-6.1 STABLE system...

Is that a mistake in NetBSD-6 source?

How can I build the latest NetBSD-6 STABLE?

Greetings,
Helge
Manuel Bouyer
2014-05-13 21:21:20 UTC
Permalink
Post by Helge Mühlmeier
Hi,
yesterday I checked out netbsd-6 and build a distribution. I read the
NetBSD-Guide Chapter 33 and thought to get a NetBSD-6 STABLE after building
the distribution.
In real I got a NetBSD-6.1 STABLE...
Maybe I haven't realy understood how branches work but I guess I should have
checked out a NetBSD-6.1 branch for a NetBSD-6.1 STABLE system...
Is that a mistake in NetBSD-6 source?
How can I build the latest NetBSD-6 STABLE?
Really there's no such things as NetBSD-6 STABLE, NetBSD-6.1_STABLE
is indeed what's in the netbsd-6 branch (what's in netbsd-6-1 is called
NetBSD-6.1.x_PATCH).
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
Jeff Rizzo
2014-05-13 22:25:23 UTC
Permalink
Post by Manuel Bouyer
Post by Helge Mühlmeier
Hi,
yesterday I checked out netbsd-6 and build a distribution. I read the
NetBSD-Guide Chapter 33 and thought to get a NetBSD-6 STABLE after building
the distribution.
In real I got a NetBSD-6.1 STABLE...
Maybe I haven't realy understood how branches work but I guess I should have
checked out a NetBSD-6.1 branch for a NetBSD-6.1 STABLE system...
Is that a mistake in NetBSD-6 source?
How can I build the latest NetBSD-6 STABLE?
Really there's no such things as NetBSD-6 STABLE, NetBSD-6.1_STABLE
is indeed what's in the netbsd-6 branch (what's in netbsd-6-1 is called
NetBSD-6.1.x_PATCH).
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
Helge Mühlmeier
2014-05-14 18:31:54 UTC
Permalink
Post by Jeff Rizzo
Post by Manuel Bouyer
Post by Helge Mühlmeier
Hi,
yesterday I checked out netbsd-6 and build a distribution. I read the
NetBSD-Guide Chapter 33 and thought to get a NetBSD-6 STABLE after building
the distribution.
In real I got a NetBSD-6.1 STABLE...
Maybe I haven't realy understood how branches work but I guess I should have
checked out a NetBSD-6.1 branch for a NetBSD-6.1 STABLE system...
Is that a mistake in NetBSD-6 source?
How can I build the latest NetBSD-6 STABLE?
Really there's no such things as NetBSD-6 STABLE, NetBSD-6.1_STABLE
is indeed what's in the netbsd-6 branch (what's in netbsd-6-1 is called
NetBSD-6.1.x_PATCH).
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
If I understand you in right way there is a bug in CVS- Branch of NetBSD-6?

What will happen now?

Greetings,
Helge
Jeff Rizzo
2014-05-14 16:55:41 UTC
Permalink
Post by Helge Mühlmeier
Post by Jeff Rizzo
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
If I understand you in right way there is a bug in CVS- Branch of NetBSD-6?
What will happen now?
I'm not certain how to answer your question.

Bugs which are discovered in the netbsd-6 branch and deemed worthy of
fixes are fixed in the normal process of "fix in head, pull up to
release branches". These fixes get applied to the netbsd-6 branch
periodically. If you're concerned about a *specific* bug, any security
advisory issued by the NetBSD security-officer will mention whether the
netbsd-6 branch is affected, and after which date the problem is fixed.

+j
J. Lewis Muir
2014-05-14 17:28:06 UTC
Permalink
Post by Helge Mühlmeier
Post by Jeff Rizzo
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
If I understand you in right way there is a bug in CVS- Branch of NetBSD-6?
What will happen now?
Hi, Helge.

I doubt there's a bug in how the branching was done. I think there
might be some confusion about what branch tag you should be using.

What exact branch tag did you use when you retrieved the source from
CVS?

Conceptually, what branch are you wanting?

Lewis
Helge Mühlmeier
2014-05-14 20:55:25 UTC
Permalink
Post by J. Lewis Muir
Post by Helge Mühlmeier
Post by Jeff Rizzo
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
If I understand you in right way there is a bug in CVS- Branch of NetBSD-6?
What will happen now?
Hi, Helge.
I doubt there's a bug in how the branching was done. I think there
might be some confusion about what branch tag you should be using.
What exact branch tag did you use when you retrieved the source from
CVS?
Conceptually, what branch are you wanting?
Lewis
Hi Lewis,

as described in the NetBSD-Guide chapter 30.4.2 I used the netbsd-6 tag...

If I understand the terminology right there are maintenance branches
like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
think it is time for it... netbsd-6 should be the same on that time
stamp (tag) but will differ in future because netbsd-6 will get minor
features too (not only security fixes).

Am I right?

I want to follow the most recent version of netbsd-6 on my computer. I
guess there should be a NetBSD-6_STABLE if I build a distribution and
kernel from those source (tag = netbsd-6).

Greetings,
Helge
Greg Troxel
2014-05-14 22:22:00 UTC
Permalink
Post by Helge Mühlmeier
If I understand the terminology right there are maintenance branches
like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
think it is time for it... netbsd-6 should be the same on that time
stamp (tag) but will differ in future because netbsd-6 will get
minor features too (not only security fixes).
Almost. netbsd-6-1 is rooted at the place on netbsd-6 where the 6.1
formal release is. It gets only security fixes. netbsd-6 gets a
larger category of fixes.

The real question is the degree of safety of following a branch, in
terms of getting good bugfixes and not getting problems. The history of
NetBSD stable branches for a very long time is that for a normal use
computer (not a webserver for a bank, where you want a whole second copy
and to do exhaustive testing before upgrading the real one), it's safe
to update along netbsd-6, rebuild and reinstall, and reboot. The odds
of having to recover are very small. If you're ultraconservative, then
following netbsd-6-N (for the latest N) makes sense. But most uses are
well served by the main stable branch.

See pkgsrc/sysutils/etcmanage for code to help with building and
updating.
J. Lewis Muir
2014-08-20 18:04:10 UTC
Permalink
Almost. netbsd-6-1 is rooted at the place on netbsd-6 where the 6.1
formal release is. It gets only security fixes. netbsd-6 gets a
larger category of fixes.
The real question is the degree of safety of following a branch, in
terms of getting good bugfixes and not getting problems. The history
of NetBSD stable branches for a very long time is that for a normal
use computer (not a webserver for a bank, where you want a whole
second copy and to do exhaustive testing before upgrading the real
one), it's safe to update along netbsd-6, rebuild and reinstall, and
reboot. The odds of having to recover are very small. If you're
ultraconservative, then following netbsd-6-N (for the latest N) makes
sense. But most uses are well served by the main stable branch.
Hi, Greg.

(Sorry to reply to such an old post.) I trust what you're saying about
the history of the NetBSD stable branches, but that doesn't seem to
match what I read on the NetBSD release glossary and graphs page:

http://netbsd.org/releases/release-map.html

There it says the following about stable maintenance branches:

What you will find on a stable branch is the last release (major
or minor) plus whatever bug fixes and enhancements which will be
going into the next minor release, pulled up from the NetBSD-current
development branch. For example, if the latest release is 6.0, the CVS
branch for it is "netbsd-6" which can be thought of as containing an
alpha version of the following 6.x releases.

An "alpha version" does not sound stable to me. :-) Maybe the wording
should be changed to not call it an "alpha" version, or maybe a more
clear statement about the stability of the stable branch (like your
statement above) should be added?

Thanks!

Lewis
Greg Troxel
2014-08-25 18:50:52 UTC
Permalink
Post by J. Lewis Muir
Almost. netbsd-6-1 is rooted at the place on netbsd-6 where the 6.1
formal release is. It gets only security fixes. netbsd-6 gets a
larger category of fixes.
The real question is the degree of safety of following a branch, in
terms of getting good bugfixes and not getting problems. The history
of NetBSD stable branches for a very long time is that for a normal
use computer (not a webserver for a bank, where you want a whole
second copy and to do exhaustive testing before upgrading the real
one), it's safe to update along netbsd-6, rebuild and reinstall, and
reboot. The odds of having to recover are very small. If you're
ultraconservative, then following netbsd-6-N (for the latest N) makes
sense. But most uses are well served by the main stable branch.
Hi, Greg.
(Sorry to reply to such an old post.) I trust what you're saying about
the history of the NetBSD stable branches, but that doesn't seem to
http://netbsd.org/releases/release-map.html
What you will find on a stable branch is the last release (major
or minor) plus whatever bug fixes and enhancements which will be
going into the next minor release, pulled up from the NetBSD-current
development branch. For example, if the latest release is 6.0, the CVS
branch for it is "netbsd-6" which can be thought of as containing an
alpha version of the following 6.x releases.
An "alpha version" does not sound stable to me. :-) Maybe the wording
should be changed to not call it an "alpha" version, or maybe a more
clear statement about the stability of the stable branch (like your
statement above) should be added?
Two points:

"alpha" is relative. netbsd-6 is an alpha of the next 6.Y formal
release. It's less stable than the actual release, but still far
more stable than almost anything else.

People in general do not like to make stability claims, because things
will go wrong and then some people get cranky. I was speaking in
terms of the past history (although I do expect it to continue).

But it would be sensible to clarify the intent. I think the www
sources are available to all for checkout, so perhaps you could send a
patch?
J. Lewis Muir
2014-08-25 21:40:06 UTC
Permalink
"alpha" is relative. netbsd-6 is an alpha of the next 6.Y formal
release. It's less stable than the actual release, but still far
more stable than almost anything else.
Hi, Greg.

All right, but I still think most people think of "alpha" as pretty
rough. Even in the NetBSD-current section of that same web page it
says, "You should be aware that in BSD CSRG terms, -current is normally
an alpha quality distribution. It isn't even guaranteed to compile."
People in general do not like to make stability claims, because
things will go wrong and then some people get cranky. I was
speaking in terms of the past history (although I do expect it to
continue).
Understood.
But it would be sensible to clarify the intent. I think the www
sources are available to all for checkout, so perhaps you could send a
patch?
OK, attached is a patch. (I cleaned up a few other things on that page
too; I hope that's OK.)

Regards,

Lewis
Greg Troxel
2014-08-27 22:59:47 UTC
Permalink
Post by J. Lewis Muir
OK, attached is a patch. (I cleaned up a few other things on that page
too; I hope that's OK.)
It took me a while to be sure, but I think your detangling of
maintenance/stable/security is supportable by the previous definitions.
I've committed this and presumably it should show up soonish on the
server. Please keep an eye out and let me know if it's ok.
J. Lewis Muir
2014-08-28 19:28:56 UTC
Permalink
Post by Greg Troxel
It took me a while to be sure, but I think your detangling of
maintenance/stable/security is supportable by the previous
definitions. I've committed this and presumably it should show up
soonish on the server. Please keep an eye out and let me know if it's
ok.
Hi, Greg.

It has shown up for me and looks good! Thanks!

Lewis

J. Lewis Muir
2014-05-14 22:10:46 UTC
Permalink
Post by Helge Mühlmeier
If I understand the terminology right there are maintenance branches
like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
think it is time for it... netbsd-6 should be the same on that time
stamp (tag) but will differ in future because netbsd-6 will get minor
features too (not only security fixes).
Am I right?
Hi, Helge.

(I'm new to NetBSD, so I could be mistaken. If I am, hopefully an
experienced NetBSD user can correct me.)

I think you're mixing the names of branches with the CVS branch tag
names; they're not the same. You mention "netbsd-6": that's a CVS
branch tag name. However, you also mention "netbsd-6.1": that's *not* a
CVS branch tag name.
Post by Helge Mühlmeier
I want to follow the most recent version of netbsd-6 on my computer.
I guess there should be a NetBSD-6_STABLE if I build a distribution
and kernel from those source (tag = netbsd-6).
If by "netbsd-6" you mean the CVS branch tagged "netbsd-6", then that's
obviously what you're following. The problem may be that perhaps that's
not actually what you want.

The CVS branch tagged "netbsd-6" is referred to as a "stable" branch and
will contain changes intended for the next minor release. Right now,
the next minor release is 6.2. So, assuming a 6.2 release is eventually
made, you will get changes that will eventually be in NetBSD 6.2. To
say that in another way, if you do a CVS checkout with "-r netbsd-6",
you will get all the changes that went into the 6.1 release, and you
will get all the changes intended for the 6.2 release (assuming that
release is eventually made).

Is that what you want? If so, then there's nothing more to discuss.

But if by, "I want to follow the most recent version of netbsd-6," you
actually mean you want to follow NetBSD 6.0 with any security/critical
fixes, then the branch you want is referred to as a "security/critical"
branch. In CVS that branch has the tag name "netbsd-6-0". Right now,
that will include the changes for the NetBSD 6.0.5 release and any
changes intended for 6.0.6 (if that release is eventually made).

If you want to follow NetBSD 6.1 with any security/critical fixes, then
the CVS branch name is "netbsd-6-1". Right now, that includes changes
for the NetBSD 6.1.4 release and any changes intended for 6.1.5 (if that
release is eventually made).

Lewis
j***@sdf.org
2014-05-14 22:36:22 UTC
Permalink
Post by Helge Mühlmeier
If I understand the terminology right there are maintenance branches
like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
think it is time for it... netbsd-6 should be the same on that time
stamp (tag) but will differ in future because netbsd-6 will get minor
features too (not only security fixes).
Am I right?
It's kind of confusing; I've been using NetBSD since release 1.5.2 and
still have to review the release structure for almost every upgrade.
Following -current is actually much easier but of course you may find things
broken on occasion. Anyway... here's the official explanation page w/
graph showing the general logic of NetBSD releases:

NetBSD release glossary and graphs
http://www.netbsd.org/releases/release-map.html

HTH,
jgw
Helge Mühlmeier
2014-05-14 22:09:57 UTC
Permalink
Post by J. Lewis Muir
Post by Helge Mühlmeier
Post by Jeff Rizzo
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
If I understand you in right way there is a bug in CVS- Branch of NetBSD-6?
What will happen now?
Hi, Helge.
I doubt there's a bug in how the branching was done. I think there
might be some confusion about what branch tag you should be using.
What exact branch tag did you use when you retrieved the source from
CVS?
Conceptually, what branch are you wanting?
Lewis
Hi Lewis,

as described in the NetBSD-Guide I used the netbsd-6 tag:

------------------------------
30.4.2. Fetching a NetBSD stable branch

NetBSD stable branches are also called "Maintenance branches". Please
consult the Section 30.2, "Terminology"
<http://www.netbsd.org/docs/guide/en/chap-fetch.html#chap-fetch-term>.

If you want to follow a stable branch, just pass the branch name to the
cvs(1) <http://netbsd.gw.com/cgi-bin/man-cgi?cvs+1+NetBSD-6.0.1+i386>
|-r| option.

For example, if you want to fetch the most recent version of "netbsd-6",
you just need to use that tag:

|$| *|cd /usr|* |$| *|cvs checkout -r netbsd-6 -P src|*

And for the "xsrc" module:

|$| *|cvs checkout -r netbsd-6 -P xsrc|*
-----------------------------

If I understand the terminology right there are maintenance branches
like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
think it is time for it... netbsd-6 should be the same on that time
stamp (tag) but will differ in future because netbsd-6 will get minor
features too (not only security fixes).

Am I right?

I want to follow the most recent version of netbsd-6 on my computer. I
guess there should be a NetBSD-6_STABLE if I build a distribution and
kernel from those source (tag = netbsd-6).

Greetings,
Helge
Helge Mühlmeier
2014-05-14 22:14:18 UTC
Permalink
Post by J. Lewis Muir
Post by Helge Mühlmeier
Post by Jeff Rizzo
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
If I understand you in right way there is a bug in CVS- Branch of NetBSD-6?
What will happen now?
Hi, Helge.
I doubt there's a bug in how the branching was done. I think there
might be some confusion about what branch tag you should be using.
What exact branch tag did you use when you retrieved the source from
CVS?
Conceptually, what branch are you wanting?
Lewis
Hi Lewis,

as described in the NetBSD-Guide I used the netbsd-6 tag:

------------------------------
30.4.2. Fetching a NetBSD stable branch

NetBSD stable branches are also called "Maintenance branches". Please
consult the Section 30.2, "Terminology"
<http://www.netbsd.org/docs/guide/en/chap-fetch.html#chap-fetch-term>.

If you want to follow a stable branch, just pass the branch name to the
cvs(1) <http://netbsd.gw.com/cgi-bin/man-cgi?cvs+1+NetBSD-6.0.1+i386>
|-r| option.

For example, if you want to fetch the most recent version of "netbsd-6",
you just need to use that tag:

|$| *|cd /usr|* |$| *|cvs checkout -r netbsd-6 -P src|*

And for the "xsrc" module:

|$| *|cvs checkout -r netbsd-6 -P xsrc|*
-----------------------------

If I understand the terminology right there are maintenance branches
like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
think it is time for it... netbsd-6 should be the same on that time
stamp (tag) but will differ in future because netbsd-6 will get minor
features too (not only security fixes).

Am I right?

I want to follow the most recent version of netbsd-6 on my computer. I
guess there should be a NetBSD-6_STABLE if I build a distribution and
kernel from those source (tag = netbsd-6).

Greetings,
Helge
Helge Mühlmeier
2014-05-14 20:46:46 UTC
Permalink
Post by J. Lewis Muir
Post by Helge Mühlmeier
Post by Jeff Rizzo
Yep, it's the "latest stable netbsd-6 branch code", which will
eventually become NetBSD 6.2.
If I understand you in right way there is a bug in CVS- Branch of NetBSD-6?
What will happen now?
Hi, Helge.
I doubt there's a bug in how the branching was done. I think there
might be some confusion about what branch tag you should be using.
What exact branch tag did you use when you retrieved the source from
CVS?
Conceptually, what branch are you wanting?
Lewis
Hi Lewis,

as described in the NetBSD-Guide I used the netbsd-6 tag:

------------------------------
30.4.2. Fetching a NetBSD stable branch

NetBSD stable branches are also called "Maintenance branches". Please
consult the Section 30.2, "Terminology"
<http://www.netbsd.org/docs/guide/en/chap-fetch.html#chap-fetch-term>.

If you want to follow a stable branch, just pass the branch name to the
cvs(1) <http://netbsd.gw.com/cgi-bin/man-cgi?cvs+1+NetBSD-6.0.1+i386>
|-r| option.

For example, if you want to fetch the most recent version of "netbsd-6",
you just need to use that tag:

|$| *|cd /usr|* |$| *|cvs checkout -r netbsd-6 -P src|*

And for the "xsrc" module:

|$| *|cvs checkout -r netbsd-6 -P xsrc|*
-----------------------------

If I understand the terminology right there are maintenance branches
like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
think it is time for it... netbsd-6 should be the same on that time
stamp (tag) but will differ in future because netbsd-6 will get minor
features too (not only security fixes).

Am I right?

I want to follow the most recent version of netbsd-6 on my computer. I
guess there should be a NetBSD-6_STABLE if I build a distribution and
kernel from those source (tag = netbsd-6).

Greetings,
Helge
Robert Elz
2014-05-14 23:25:17 UTC
Permalink
Date: Wed, 14 May 2014 22:55:25 +0200
From: =?ISO-8859-1?Q?Helge_M=FChlmeier?= <***@gmx.de>
Message-ID: <***@gmx.de>

| If I understand the terminology right there are maintenance branches
| like netbsd-6.1 which will be forked from netbsd-6 if the releng-team
| think it is time for it... netbsd-6 should be the same on that time
| stamp (tag) but will differ in future because netbsd-6 will get minor
| features too (not only security fixes).
|
| Am I right?

Yes (except not "will be forked" but "was forked")

| I want to follow the most recent version of netbsd-6 on my computer.

That's fine, and that's what you're doing.

| I guess there should be a NetBSD-6_STABLE if I build a distribution and
| kernel from those source (tag = netbsd-6).

Not "should", but "could" yes .. it just happens that that naming isn't
what is used. There's never anything (as a system release version) called
NetBSD 6, that's too imprecise, it is always 6.x or 6.x.y or 6.x_LABEL.

To re-quote something from your message above:

| netbsd-6 should be the same on that time stamp (tag) but will differ in
| future

At the point of the fork, if you had fetched netbsd-6 at that instant,
you'd have exactly the same thing as NetBSD 6.1 - that's exactly what you
(correctly) surmised would happen.
From that point onwards, netbsd-6 generates systems called NetBSD 6.1_STABLE
to indicate that it is the stable release, after NetBSD 6.1 (before 6.1
was forked, it was NetBSD 6.0_STABLE - the stable release after NetBSD 6.0).

When 6.2 is forked, systems from the netbsd-6 branch will be NetBSD 6.2_STABLE

There is nothing broken here, you just guessed incorrectly as to what the
system version would be called.

kre

ps: if you wanted to stick with NetBSD 6.1 (not get stuff that is going
in 6.2 but only the critical fixes) then you'd checkout netbsd-6-1 and
the system would call itself NetBSD 6.1_PATCH (patched version of 6.1)
which then becomes (or became) 6.1.1 6.1.2 ... as required.
Ottavio Caruso
2014-05-14 21:19:44 UTC
Permalink
Post by Helge Mühlmeier
Maybe I haven't realy understood how branches work but I guess I should have
checked out a NetBSD-6.1 branch for a NetBSD-6.1 STABLE system...
I am not sure if I have understood your question but in my view the
latest stable version of netbsd-6 is 6.1.4. The terminology is here:
http://www.netbsd.org/releases/release-map.html#maintenance
--
Ottavio
Robert Elz
2014-05-14 23:35:57 UTC
Permalink
Date: Wed, 14 May 2014 23:19:44 +0200
From: Ottavio Caruso <ottavio2006-***@yahoo.com>
Message-ID: <CAEJNuHzmKXxEPRVrZ0q4FEuNpMG+f-uzp9NnFhtQKe=DZ_yY+***@mail.gmail.com>

| I am not sure if I have understood your question but in my view the
| latest stable version of netbsd-6 is 6.1.4.

That's the latest stable released version. The most up to date stable
version is what's obtained by checking out netbsd-6 (and is called 6.1_STABLE
until after 6.2 appears)

kre
Helge Mühlmeier
2014-05-15 16:16:33 UTC
Permalink
Hi,

thanks to all of you!

I think now I understand how branches, releases and cvs-tags work...

What are you think about to improving this in the guide? I think there
are other people than me who are a little confused with this, too.

Greetings,
Helge
Loading...