Subject: release names and versions explanations
To: None <netbsd-users@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: netbsd-users
Date: 10/05/2000 14:59:06
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.)

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").

I do understand a little:

- "When incompatible changes to the kernel/userland-interface are made,
  the centiversion is incremented (1.2A, 1.2B, etc.)." (By the way, I
  can't find a dictionary definition for "centiversion".)

- "The version is always in the form of a number followed by a letter, and
  will develop into the next formal release. (eg: 1.3F eventually became
  1.4). The letter is incremented when the kernel/userland-interface is
  changed."

- A patch/bug fix release adds a number to the version number. For
  example, 1.4.2 means the second update (patch/fix) for release 1.4. Is
  this correct??

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.)

The thing I don't understand is the correlation between different
releases. 

Will there ever be a 1.4.4 or a 1.4.5? (If not, then why?)

Is there any correlation between something like 1.4.2

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

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

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.)

(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?)

By the way, my "uname -r" says 1.4.2.

   Jeremy C. Reed
   http://www.reedmedia.net/