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