[osol-discuss] Re: rpm vs pkgadd (again!)

John Plocher John.Plocher at Sun.COM
Fri Jan 5 14:34:27 PST 2007


UNIX admin wrote:
> if I need REV 1.0 or 2007.01.05.07 of some dependency,
> and I have REV 3.2 or 2007.04.18.23 of the said software,
> `pkgadd` should be able to recognize that I have satisfied the min REV required, and plough on instead of doing a string-like check and *insisting* that I need *exactly* REV 1.0 (or 2007.01.05.07, for example).


The fallacy here is in *assuming* that rev 3.2 is exactly compatible
with your 1.0 usage.  As Jim said, Sun's approach to this problem has
been to "say what you mean, and mean what you say".  That is, be
explicit about your promises (the interface taxonomy) and follow
up on those expectations by being honest with your version numbers
(the release taxonomy).

If the bits you are producing are compatible, we say that the major
and minor version identifiers for your released component stay the
same.  And, if you make an incompatible change, you also need to
change the high order version number(s).

This way, anything that depended on the 1.0 interfaces could safely
depend on any "later" 1.0.* release of the library, but could not
safely depend on a 2.* version because, by definition, the 2.0 version
exhibits incompatibilities with the previous 1.0 stuff.

In this world view (which is by no means universal), it would be
a bug to implement dependency equivalence as you suggest, because,
as the quote goes, "it just ain't so!".

   -John



More information about the opensolaris-discuss mailing list