On 03/11/11 12:27 PM, Bart Smaalders wrote:
> http://cr.opensolaris.org/~barts/17908/
> 
>     17908 pkgmerge should have a blend mode
> 
> https://defect.opensolaris.org/bz/show_bug.cgi?id=17908
> 
> - Bart
> 

Cool--thanks!

pkgmerge.1.txt: 20-24: "...is copied to the other manifests prior to
merging so that..." seems like potentially confusing implementation
details; why not just concentrate on the end result?

If pkg.merge.blend is dropped after a successful merge, then we
introduce a nonintuitive corner case.  Consider merging the following repos:

        A       x86, DEBUG
        B       SPARC, DEBUG
        C       x86, non-DEBUG
        D       SPARC, non-DEBUG

There are three ways to accomplish this merge:

        1.      merge AB|arch, merge CD|arch, then merge XY|debug
        2.      merge AC|debug, merge BD|debug, then merge XY|arch
        3.      merge ABCD|arch,debug

In the case of onbld, we care about blending on variant.arch, but not
necessarily on variant.debug.  Cases 1 and 3 above will give us the
desired result, but case 2 will not.

We could rathole on the interface, and suggest that pkg.merge.blend take
one or more values that are variant names, but I think that's more
implementation work than is justified.

That was a long winded way of saying "I think that pkgmerge.1.txt should
include a warning that 'Merging previously blended packages may have
unexpected results.  If you want to blend repositories along multiple
variants, you should do so using a single invocation of pkgmerge.'"

Another implication here is that the current behavior is almost
certainly desired, and should not be an error: silently publish
variant-specific actions when blended actions have conflicting payloads.

Am I too far off in the weeds?

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

Reply via email to