I tried adding the following:

pkg:/[EMAIL PROTECTED] is a simple package with an optional dependency:
 depend fmri=pkg:/[EMAIL PROTECTED] type=optional

(Note that there is no [EMAIL PROTECTED] in the repository.)

Then I tried both "pkg image-update" and "pkg install [EMAIL PROTECTED]" and both succeeded with no complaint about there not being a [EMAIL PROTECTED] there.

I don't see any open issues on the incorporate behavior - should I create one?

Thanks.
Tom


Bart Smaalders wrote:
Tom Mueller (pkg-discuss) wrote:
What are the semantics supposed to be?
I tried the following:

pkg:/[EMAIL PROTECTED] is a simple package with just a set action
pkg:/[EMAIL PROTECTED] is also a simple package with just a set action
pkg:/[EMAIL PROTECTED] depends on pkg:/[EMAIL PROTECTED] (type=require)

pkg:/[EMAIL PROTECTED] has the following:
 depend fmri=pkg:/[EMAIL PROTECTED] type=incorporate
 depend fmri=pkg:/[EMAIL PROTECTED] type=incorporate

I'm trying to express here that [EMAIL PROTECTED] can only run with [EMAIL 
PROTECTED] and not [EMAIL PROTECTED]

In an image, I install [EMAIL PROTECTED], [EMAIL PROTECTED] and [EMAIL 
PROTECTED]  Everything fine so far.

Then I install [EMAIL PROTECTED] and it allows me to do it. A "pkg image-update" also upgrades a to [EMAIL PROTECTED]

So it appears that a is not being frozen at version 1. Is that what is supposed to happen?

I'm also wondering about this extra package "i" that has the incorporate dependencies. Shouldn't a package that has a dependency on a specific version of another package actually express that dependency itself?

I tried putting both an incorporate and require depend action for the same fmri in a single package. The publish worked, but when I tried to install that package I got the following error message:

Creating Plan -client.py: install failed: ['Duplicate actions', [(('depend', 'pkg:/[EMAIL PROTECTED]'), set([<pkg.actions.depend.DependencyAction object at 0x84579cc>, <pkg.actions.depend.DependencyAction object at 0x845786c>]))]]

In the test cases in t_upgrade.py, the incorporate dependencies are also in a separate package which then has to be explicitly installed. How are users supposed to know that they should have this extra package?

Thanks.
Tom

P.S. We are planning for introducing updates into the Glassfish V3 repositories, some of which introduce incompatible change that require multiple packages to be updated at the same time. I was hoping that we could use incorporations to force the updates to happen in this way.


Right now incorporations just specify a minimum dependency; this is a missing
feature and will get fixed soon.  We need a better dependency evaluation
mechanism that supports back-tracking to make this work correctly.

I'll look into the problem w/ the duplicate definitions.

Note that circular dependencies are legal; you may wish to do the following
for now:

base package has optional dependency on specified rev level of add-on pkgs
add-on pkgs have required dependency on minimum level of base package.

- Bart





begin:vcard
fn:Tom Mueller
n:Mueller;Tom
org:Sun Microsystems, Inc.;Update Center/OpenInstaller Software
adr:;;21915 Hillandale Dr;Elkhorn;NE;68022;USA
email;internet:[EMAIL PROTECTED]
title:Senior Staff Engineer
tel;work:877-250-4011
tel;fax:877-250-4011
tel;home:402-916-9943
x-mozilla-html:TRUE
version:2.1
end:vcard

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

Reply via email to