On Friday 16 March 2007 13:51, Nick Holland wrote:
> Read the rest of that page...  you are confusing upGRADING and
> upDATING.

Unfortunately, confusing the two terms, upGRADING and upDATING, is very
easy to do mainly because of our usage of the terms is not particularly
clear.

For each numbered version "A.B" there are four possible variations you
could be running but only three of them have tags withing CVS. In
chronological order, this gives us:

        4.0-RELEASE
        4.0-RELEASE+Patches (RELEASE plus user applied patches)
        4.0-STABLE      (RELEASE plus all developer committed patches)
        4.0-CURRENT

It's probably smart to think of these variations as sub-versions and
they exist because the developers are smart enough to avoid the
A.B.C.D.E.F sub-versioning nonsense you see in many other projects.

Running "A.B-RELEASE+Patches" is very similar to "A.B-STABLE" since the
user applied patches (available on the errata.html page) are included
withing the -STABLE branch of cvs but the differences is the -STABLE
branch of cvs also includes additional, less important bug fixes that
were not note worthy enough to have an errata entry. The reason why
patches are made available individually on the errata.html page is
because some people are required to follow a policy of making *only*
the minimal required changes to machines used in production
environments. (i.e. "If it's running properly, don't mess with it").

With the system itself, we consider it upDATING to go from "A.B-RELEASE"
to either "A.B-RELEASE+Patches" or "A.B-STABLE" Similarly, it is still
considered upDATING  to go from "A.B-RELEASE" or "A.B-RELEASE+Patches"
to the "A.B-STABLE" branch of cvs. The changes made by either of the
above upDATING procedures are minimal by comparison to upGRADING.

We consider upGRADING to be going from version "A.B" (i.e. version
"3.8") to the next *point* release "A.B+1" (i.e. version "3.9").

We also consider upGRADING to be going from "A.Z" (i.e. version "3.9")
to the next *full* release version "B.A" (i.e. version "4.0").

We also consider upGRADING to be going from either "A.B-RELEASE" or
"A.B-RELEASE+Patches" or "A.B-STABLE" to the head branch of cvs
"A.B-CURRENT"  -The reason why this is considered upGRADING is simply
because the -CURRENT branch of cvs is where all new development work is
being done and it's really just a matter of time before the version
number is incremented.

Doing a upGRADE from anything to -CURRENT via compiling your own source
is not supported because it requires a vast amount of skill, training,
and understanding of the system as well as all the changes. If
mistakenly think you are well beyond an expert programmer, give it a
try sometime but be sure not to complain when you fail miserably. And
YES, you will fail more times than you will ever be willing to admit.

If you think the above upGRADE and upDATE stuff is confusing, don't
worry, it gets worse ;-)

Packages are system version dependent, so trying to use a package from
one version on another version is not supported. Using packages within
the variations (listed above) is supported within reason. Packages from
"A.B-RELEASE" will work with later "A.B-RELEASE+Patches" and
"A.B-STABLE" but there is no guarantee that they will work with
"A.B-CURRENT" since the underlying package framework is always being
improved with new development.

The ports tree used to create packages to is also system version
dependent, so trying to use the a cvs checkout of the ports tree from
one version or variation with another version or variation is not
supported. Though you can usually get away with mixing a -RELEASE
system with a checkout of the -STABLE ports tree, it is unwise to go
mixing and matching variations.

Everything you just learned about upGRADING and upDATING is only true
for the system itself, including the system tools used to support the
ports tree and packages, but it does not apply to the individual ported
applications within the ports tree or the packages created from them.

For example, the "-u" switch of pkg_add(1) stands of upDATING according
to the pkg_add man page. This means that any version changes you do to
the packaged applications is considered upDATING.

If you have an application named "farbledarf" installed, and you want to
upDATE it to a newest version supported by your system, you'd run the
following:
        # pkg_add -ui farbledarf

If there are multiple versions of this package available for your
system, pkg_add will give you a list to chose from like:

        farbledarf-2.8.tgz     -This is version 2.8
        farbledarf-2.9.tgz     -This is version 2.9
        farbledarf-2.9p0.tgz   -This is version 2.9 with patch 0
        farbledarf-2.9p1.tgz   -This is version 2.9 with patch 0 and 1
        farbledarf-3.0.tgz     -This is version 3.0

Regardless of the changes in version number or patch level of the
packaged application, it is always considered upDATING a package.

I hope this helps...

Kind Regards,
JCR

Reply via email to