Subject: Re: release names and versions explanations
To: Jeremy C. Reed <reed@reedmedia.net>
From: Frederick Bruckman <fb@enteract.com>
List: netbsd-users
Date: 10/05/2000 19:37:10
On Thu, 5 Oct 2000, Jeremy C. Reed wrote:

> Can someone point me to some documentation on how the NetBSD releases are
> named or how version names are assigned?
> 
> (I already read release(7), http://www.netbsd.org/Releases/current.html,
> and http://www.netbsd.org/Releases/release-map.html.)

There isn't any more than that. There have been public discussions, if
you'd like to search the mailing list archives, <http://mail-index.netbsd.org/>.
 
> Sorry if the following is confusing -- yes I am confused. The reason I am
> curious is because I want to follow the newest package source tree. But I
> only want to upgrade my kernel and base files to keep stable and
> up-to-date with patches/fixes (not -current which "isn't even guaranteed
> to compile").

Good plan. The short answer is, stay with 1.4.2 until 1.4.3, then wait
a little longer for 1.5 (or even 1.5.1 -- some folks avoid the
"no-point" releases). 1.4.2 -> 1.4.3 may not be a huge improvement in
performance, but OTH it should be an easy upgrade.

> For example, I think there are releases called:
> 
> 1.5 (June 20)
> 1.5_ALPHA2 (Aug. 22 and Sept. 12 snapshot dates)
> 1.4.3_ALPHA (July 7)
> 1.4.2A
> 1.4.2B (etc.)

All that you've said is basically correct, except... those aren't
releases, they're snapshots. The next formal release will be 1.4.3
(1.4.2A, 1.4.2B, and 1.4.3_ALPHA are all on the way to 1.4.3); the
next release, chronologically, is likely to be 1.5, but 1.4{,.*} and
1.5{,.*} each grow simultaneously on their own _branch_, so there's no
telling if 1.4.4 will beat out 1.5.1 (if there even is a 1.4.4).

I would advise not to bother with the netbsd-1-4 snapshots at this
point, as 1.4.3 is imminent. They're only being kept around for
reference, so someone could say "This is broken in 1.4.3, but it
worked in 1.4.3_ALPHA."

> How is it decided that a 1.4L(etter) -current development will be
> renumbered to become 1.5?

Consensus. BTW, it doesn't become 1.5 that easily (the branchpoint is
called 1.5_base, and a lot of work is going into making 1.5, which
will be further down the netbsd-1-5 branch, worthy of the "release"
designation). Once a branch "takes root", the decision of what goes
in, and when to cut the release(s), becomes the sole responsibility of
the Release Engineer for that branch.

> Why is a release called 1.5_ALPHA instead of 1.4A(nother letter)?

Same as above. 1.5_ALPHA was branched away from 1.4ZC or thereabouts.
Next stop on the trunk was 1.5A.

> How can I tell what releases my various CVS's files are from? Is there
> certain file(s) that tell what release it is a part of? (I am asking
> because I have a mismatch of CVS'd and ftp'd files and some packages for
> example won't build because of dependencies on current packages that are
> newer or older than required.)

"pkgsrc" isn't branched, so that question is irrelevant. Current
pkgsrc is supposed to work with _all_ _three_ active branches:
netbsd-1-4, netbsd-1-5, and current; and especially the formal
releases on those branches.

You could start with "make update" in the build directory for packages
which satisfy dependencies, e.g., the packages that shake out with "ls
-l /var/db/pkg/*/+REQUIRED_BY". That will recursively delete the
packages which depend on them, and then rebuild the depending packages.

> (Which brings me to another question. How can I choose to rebuild all my
> packages that are currently installed without rebuilding every available
> package? Do I have to selectively remove and install one at a time?)

There's no canned way to simply update exactly the packages you have
installed, but there are ways to achieve the goal. See mk.conf.example
for an explanation of how to use SPECIFIC_PKGS, and SITE_SPECIFIC_PKGS.


Frederick