So here's my first cut at solving the problem:
http://cr.opensolaris.org/~dduvall/pkg-bug10630/
If anyone still wants to bicker over the behavior, let's hear it. Also,
suggestions on better language is welcome.
Here's the sample output. This represents installing three versions of the
same package, where the first version simply delivers /etc/driver_aliases
with 'danek "pci8086,1234"' in it and no driver actions, the second version
delivers an updated driver_aliases file that replaces "danek" with "zigit",
and adds a "zigit" driver action with "pci8086,1234" as an alias, and the
third version delivers the same aliases file and the same "zigit" driver,
but also a "figit" driver action which is otherwise identical to the
"zigit" action.
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 2/2 0.0/0.0
PHASE ACTIONS
Install Phase 6/6
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 1/1
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 1/1 0.0/0.0
The 'zigit' driver shares an alias with the 'danek' driver, but
the system cannot determine how the latter was delivered. Its entry
on line 1 in /etc/driver_aliases has been commented out. If
this driver is no longer needed, it may be removed by invoking
'rem_drv danek' as well as removing line 1 from /etc/driver_aliases.
PHASE ACTIONS
Install Phase 1/1
Update Phase 2/2
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 1/1
Action install failed for 'figit' (pkg:/foo):
RuntimeError: The 'figit' driver shares an alias with the 'zigit' driver;
both
drivers cannot be installed simultaneously. Please remove the package
delivering 'zigit' or ensure that the package delivering 'figit'
will not be installed, and try the operation again.
pkg: install failed: The 'figit' driver shares an alias with the 'zigit'
driver; both
drivers cannot be installed simultaneously. Please remove the package
delivering 'zigit' or ensure that the package delivering 'figit'
will not be installed, and try the operation again.
Yes, we need better messaging capabilities, and unless we've already got
something better a RuntimeError is all I'm willing to cook up for the
conflicting actions, since supporting conflicting actions in a sane way is
a whole other kettle of fish, and out of scope for this fix.
I'll probably update this webrev tomorrow with a test case, too.
Thanks,
Danek
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss