On 05/11/09 14:43, Dave Miner wrote:
> Jack Schwartz wrote:
>> Hi Dave.
>>
>> On 05/11/09 13:05, Dave Miner wrote:
>>> Jack Schwartz wrote:
>>>> Hi Dave.
>>>>
>>>> Thanks for your comments.
>>>>
>>>> On 05/11/09 12:08, Dave Miner wrote:
>>>>> Jack Schwartz wrote:
>>>>>> Hi everyone.
>>>>>>
>>>>>> Minutes from this meeting are posted at:
>>>>>> http://www.opensolaris.org/os/project/caiman/auto_install/AI_mtg/Minutes/XML_parser_rework_minutes_090507.txt
>>>>>>
>>>>>>
>>>>>>
>>>>> I don't understand what's meant by the "carries a lot of
>>>>> information" portion of the below. Carrying a lot of information
>>>>> isn't inherently a problem, so what's the real problem being
>>>>> hinted at?
>>>>>
>>>>>> 2) Current AI manifests are not easy to use.
>>>>>> - fragmented, could be better organized, carries a lot of
>>>>>> information.
>>>> Carrying lots of information isn't a problem if that information is
>>>> well organized. Combined with the file being fragmented and not
>>>> organized as well as it could, carrying a lot of information makes
>>>> the file harder to read.
>>>>
>>>> I'll drop the "carries a lot of information" part.
>>>>>> - We decided that changing from XML is out of scope and off
>>>>>> the table.
>>>>>>
>>>>> Additionally, I'd suggest some alteration of the below:
>>>>>
>>>>>> 3) AI manifests need to be forward and backward compatible
>>>>>> between builds.
>>>>>> - Old manifest to work on new build
>>>>>> - Have old build recognize new manifests and fail in a
>>>>>> user-friendly way
>>>>> I think it would be more general to say that "A given version of
>>>>> the automated installer must be able to recognize and gracefully
>>>>> fail when presented with a manifest with which it is not
>>>>> compatible." The specific old/new statements above seem a little
>>>>> too restrictive and would potentially lead to solutions which are
>>>>> insufficiently flexible for the product's future evolution.
>>>> Well, I could take your wording (and I'd like to), but...
>>>>
>>>> Reading between the lines here, are you suggesting that we need to
>>>> support that a manifest of a given version works with both
>>>> up-revved and down-revved installers?
>>>>
>>> No, I wasn't suggesting that. The specific wording was chosen in an
>>> attempt to avoid that implication.
>> Phew!
>>>> If that's the case then we should make that as part of the problem
>>>> statement as it's more complete. (This is assuming that now is the
>>>> time to completely define the problem.) The other way implies that
>>>> there may be manifest versions which won't work with a given
>>>> installer version. This way says all manifest versions will work
>>>> with any installer version.
>>>>
>>>> What's your opinion on this?
>>>>
>>> There is no requirement that everything work with everything. Do
>>> you think such is even possible here?
>> It would be hard if not impossible.
>>> My opinion is that we desire to maintain compatibility of manifests
>>> moving forward, but should assume there will be an incompatible
>>> change required at some point and that the installer should fail
>>> gracefully when presented with one. That requires that the
>>> installer be able to differentiate between compatible and
>>> incompatible manifests.
>> OK. That's what I thought I captured earlier.
>>
>> So back to your original statement: how do you see what I wrote
>> earlier as too restrictive? What solutions would it lead to which
>> are insufficiently flexible for the product's future evolution? I
>> want to be sure I understand where you're coming from.
>>
>
> In your original terminology, I don't see that you capture the
> possibility that new builds may wish to not maintain compatibility
> with old manifests.
OK. Got it.
A new installer version can remain compatible with an old manifest in
many cases (for example when there are additions which can be defaulted
if they are missing from a manifest). In the case of a new installer
version with an incompatible change (e.g. changes in the semantics of a
previously used item), we would want to gracefully abort. We need to
handle both cases.
So, here's how (3) can be reworded:
3) AI manifests need to be forward and backward compatible between builds.
- Manifests of different versions than the automated installer must
work whenever possible.
- A given version of the automated installer must be able to
recognize a manifest with which it is not compatible and gracefully fail.
Thanks,
Jack
>
> Dave
>