On 03/21/12 11:42, Darren Kenny wrote:
On 21/03/2012 18:02, Ethan Quach wrote:
8<  SNIP 8<
My only tiff here is the implied implementation.  I not sure I agree
that "reject" should be an action type.  From a logical standpoint, it
would apply to some other peer elements, but not others.  To me, that's
confusing; and as a general solution to handle options, doesn't scale.

Thinking out loud, could we implement this by introducing an<option>
element (like the one defined in target.dtd.1) as a subelement of
<software_data type="install">  ?  i.e.

        <software name="foo_IPS">
        <software_data action="install">
        <name>pkg:/entire@latest</name>
              <name>pkg:/group/system/solaris-large-server</name>
              <option name="reject" value="pkg_to_reject"/>
              <option name="reject" value="another_pkg_to_reject"/>
        </software_data>
        </software>


The transfer/ips module would semantically take options we explicitly
want, and ignore and not pass through all others (even ones that might
be valid to pkg.)  We'd perhaps just log what we're ignoring.  The big
benefit with this in that we can later decide to support any other
options we might want (perhaps new ones) by updating the installer
transfer/ips implementation, but the dtd doesn't have to change.  The
downside is loose syntax, but I personally can live with that.

I can certainly see where you're coming from, and what you're suggesting
could work without an incompatible change to the DTD now...

My own feelings are that having multiple<options>  with the same name is
just as confusing and not at all obvious that it would be allowed - there
is also no code-reuse possible here, but that's another story.

I'm still very comfortable with the use of an action="reject", which I feel
still reads just fine, TBH and is not a huge leap in even documentation terms.

If you still feel that is not a good solution, another possibility is to
add a<reject>  tag which would look like:

        <software>
        <software_data action="install>
        <name>...</name>
        <name>...</name>
        <reject>...</reject>
        <reject>...</reject>
        </software_data>
        </software>

Which would only semantically be permitted when action="install".

Again, this would be a compatible change, and not have any negative impact
on existing consumers.

But I honestly don't think it's much of a gain over the use of the
action="reject"...

In pkg semantics, with "reject" being an option to an "install" operation, I think defining it somewhere within the software_data action="install" would be more consistent, so between your two, I like the later better.


-ethan

Thanks,

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

Reply via email to