Alan, Danek,

Pretty close, according to the build 175 pkg(5) man pages, in quotes, my emphasis in asterisks :

"If the value is optional, then the dependency,
if  present,  *must be at the specified version
level or greater*. "

"If the value is incorporate, then  the  depen-
dency  is * optional*,  but  the  version of the
dependent package is  constrained.  See  "Con-
straints and Freezing" below."

The problem here is purely semantics, since for me a "dependent package" is the one declaring the dependency on another package; that would be the consolidation package here. if that is not the case here, then - after waiting many versions for this section to appear :-) - let's move on to the relevant part of CONSTRAINTS AND FREEZING in the man pages:

"Most parts of the operating system are encapsulated by pack-
 ages called incorporations. These packages primarily deliver
 constraints represented by the incorporate dependency.

 "As described above, an  incorporated  package  need  not  be
 present  on the system, but if it is, then it specifies both
 an *inclusive minimum version and an exclusive  maximum  ver-
 sion.*  For  example,  if the dependent FMRI has a version of
 1.4.3, then no version less than  1.4.3  would  satisfy  the
 dependency,  and  neither  would any version greater than or
 equal to 1.4.4.  However, versions that merely extended  the
 dotted sequence, such as 1.4.3.7, would be allowed."

While I would see this section contradicting the description of an incorporate dependency as 'type optional', that can be left as a bug to log against the man pages. Otherwise what's between asterisks would solve our problem, I'm a happy camper, and we will move on to test this right away.

Thanks,

-Brad

On 10/21/2011 10:47 AM, Danek Duvall wrote:
BRADLEY MAYER wrote:

An incorporate dependency is an optional dependency that otherwise works
just like a require dependency as far as the fmri branch revs go.
What?  No, not even close.

An incorporate dependency is like an optional dependency, in that it does
not cause the named package to be installed, but rather than constraining
the named package to merely a minimum version, constrains it with a minimum
*and* a maximum.  Specifically, a version of x.y.z in an incorporate
dependency allows for that specific version or for arbitrary subsequences
to be appended to it: x.y.z.w.q.x is fine, but x.y.n is not for n != z.

Danek
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to