On 08/20/09 07:22, Dave Miner wrote:
> Jack Schwartz wrote:
>> Hi Dave.
>>
>> On 08/19/09 13:55, Dave Miner wrote:
>>> Jack Schwartz wrote:
>>>> Hi Dave.
>>>>
>>>> On 08/18/09 06:49, Dave Miner wrote:
>>>>> Jack Schwartz wrote:
>>>>>> Hi Dave.
>>>>>>
>>>>>> Thank you for your comments.  Responses inline.
>>>>>>
>>>>>> On 08/13/09 15:30, Dave Miner wrote:
>>>>>>> Jack Schwartz wrote:
>>>>>>>> Hi everyone.
>>>>>>>>
>>>>>>>> I haven't received any email comments on the spec.
>>>>>>>> Is the spec so good that no one had anything to say? :)
>>>>>>>>
>>>>>>>> Seriously, if you do have something to say, please let me know 
>>>>>>>> ASAP.  The spec is starting to be used.
>>>>>>>>
>>>>>>>> Note that the link has changed (email was sent about this).  It 
>>>>>>>> is:
>>>>>>>> http://www.opensolaris.org/os/project/caiman/Driver_Update/du-func-spec.txt
>>>>>>>>  
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> In section 3.3, Stephen had suggested use of p5i format to 
>>>>>>> specify IPS packages.  Is there a reason this wasn't chosen?
>>>>>>>
>>>>>> I don't understand the question given the context.  The context 
>>>>>> is that the manifest needs to differentiate IPS vs SVR4 vs 
>>>>>> DUimage type packages.  I interpreted Stephen's email to mean 
>>>>>> "Don't use the term IPS to specify IPS packages, and so I changed 
>>>>>> all references to "pkg(5)" or "pkg".  AI will read the 
>>>>>> "add_drivers" entries in the manifest to know which packages are 
>>>>>> needed to install, in much the same way that AI reads the 
>>>>>> manifest to get the list of packages to install or that DC reads 
>>>>>> the package list it needs to build an image.
>>>>>>
>>>>>> If there is more that I'm not getting here, please clarify.
>>>>>
>>>>> Stephen's message was perhaps a little subtle, but I believe there 
>>>>> was a suggesting lurking there to use a p5i link specification (or 
>>>>> p5c, which will be the on-disk format, once it's built), rather 
>>>>> than separate type, name, location as you have specified.  This is 
>>>>> something we'll need to be supporting in the AI and DC as well.
>>>> OK.  So right now (for context) we have this:
>>>>
>>>> <bundle type="pkg", name="SUNWraiddev", location="http://myrepo"/>
>>>>
>>>> We could add something like this:
>>>>
>>>> <bundle type="p5i", name="SUNWraiddev.p5i"/>
>>>>
>>>> where the p5i file would contain the package and repo.  I'll update 
>>>> the spec with this;  if you had something else in mind please let 
>>>> me know.
>>>>
>>>
>>> I believe that the p5i should be in lieu of, not addition to, the 
>>> "pkg" type you proposed, as it's a proper superset that will be 
>>> supported by any current release of pkg, both the client and 
>>> server.  I would suggest that it's more properly:
>>>
>>> <bundle type="p5i", URI="<file or http URL here>"/>
>> I agree with your definition of a p5i manifest element, but I believe 
>> my type="pkg" definition has functionality which the p5i definition 
>> cannot fulfill and would like to keep them both, side by side.  So 
>> I'll explain my reasoning and ask the questions for clarification:
>>
>> 1) The type="pkg" definition allows for a blank location, in which 
>> case the "repo path" (which could have multiple repos) specified for 
>> the packages added during install proper would be used.  Can multiple 
>> repos be specified in a p5i file?
>>
>> 2) I think p5i is specific to a net repo (just as p5c is specific to 
>> disk repos).  Is this correct?  By contrast, the type="pkg" 
>> definition won't care where the repo is or medium it is on;  it 
>> should just work.  Why make the user distinguish the type of medium 
>> the repo is on with "p5i", when type="pkg" can handle any kind of 
>> repo?  Or is there something I am missing?
>
> I believe you should discuss the above questions with one of the IPS 
> developers if the docs available don't answer them.
OK, I checked and p5i files can apply to any repo that is reachable via 
a pathname or URI.

I think I'm seeing the light now...  The p5i file can with one name 
(URI) specify a package and a repo.  When you use the word "superset" 
above (in your first reply) I now take that to mean that a single p5i 
file can specify a group of packages from a single repo if desired, or 
even different groups from different repos, all in the same file.  This 
is more versatile than only being able to specify a single package and repo.

A quick check at a repo through a browser shows that every package has 
an associated repo.  Seems safe to remove the type="pkg" and have IPS 
packages specified through the p5i specification instead.
>>>> As for p5c files, they are not yet documented and are not completed 
>>>> yet AFAIK.  I'd like to defer p5c work as an RFE for later.
>>>
>>> Yes, that was meant as a later.
>>>
>>>>>>> 5.2.1: Why not provide a selectable option in AI to have more 
>>>>>>> aggressive, "anything goes", automatic installation?  I'm 
>>>>>>> unconvinced of the "likely to be interactive" assertion here.
>>>>>> My first response to this was "sure, why not".  But then when I 
>>>>>> thought about it, it opens many cans of worms.
>>>>>>
>>>>>> Right now, the scope is doable.  The kind of pkg we say we'll 
>>>>>> process is represented in the database by just its name.  We know 
>>>>>> what that name represents and how to process it.
>>>>>>
>>>>>> If we open up to http URLs we don't know how to navigate them, as 
>>>>>> they are all different;  there can be anything in a webpage.  
>>>>>> Since there is the possibility that webpage will be interactive, 
>>>>>> we have to assume that it will be as the worst case scenario;  
>>>>>> how do we process an interactive webpage from a non-interactive 
>>>>>> tool?  Or, maybe you know how to tell whether a URL is 
>>>>>> interactive or not?  If so, please let me know.
>>>>>>
>>>>>> If we open up to ftp, that could be a file or a directory;  if a 
>>>>>> file, we don't know what kind of package that file represents.  
>>>>>> Could we figure it out?  Maybe, but the scope broadens greatly 
>>>>>> and we already have a lot to do.
>>>>>>
>>>>>> There may be other formats we could accommodate as well (the DDU 
>>>>>> database doesn't have other kinds right now) but again the scope 
>>>>>> is not feasible IMO.
>>>>> I think you're making this too hard.  Why would we not just 
>>>>> require that the link be directly to an installable software 
>>>>> bundle in one of the formats supported?
>>>> We discussed this today and decided that it was sufficient extra 
>>>> work without sufficient benefit, to defer it until later.  I'll 
>>>> file an RFE.
>>>
>>> I'd like to hear more about the tradeoffs in that discussion, I 
>>> guess, as I sense from other comments that it is desired.  It seems 
>>> at the least you should be taking the requirement to make all URL's 
>>> only be non-interactive for this case so that it can be implemented 
>>> easily later.
>> There are a few options.  If doable, I think the last option is best.
>>
>> 1) Keep the format of the database the same.  Figure out what the 
>> non-Solaris package entries represent.  What do their links (http, 
>> ftp, whatever) point to (directories, downloadable files, webpages 
>> which need to be navigated).  Download only where it makes sense.
>>
>> Doing this is what we discussed at the meeting as being too hard.
>>
>> 2) Don't allow automatic install of third party drivers.
>>
>> 3) Require that third party driver links be only pointers to 
>> downloadable files.  I would see this as a regression from what the 
>> database offers currently.  Right now, a properly equipped DDU could 
>> display the information in the database, to point the user to the 
>> location for a manual download.  The spec requests this.  To require 
>> third party drivers to be only pointers to downloadable files would 
>> be to strip out this useful information for drivers available only at 
>> navigatable webpages.
>>
>> 4) Here's a new option...  The database could be changed to 
>> distinguish, say, http links which go to webpages requiring 
>> navigation, vs http links which go to downloadable files.  This way, 
>> the DDU can know which links it can download from, and which ones it 
>> can only display in a "manually download" message.
>>
>> Right now the database has categories of:
>> S - solaris driver (names in these entries are pkg(5) names - only 
>> this category can be installed by the DDU currently AFAIK)
>> T - third party driver
>> O - OpenSolaris driver (from opensolaris projects, webpages given, 
>> not package names)
>>
>> I suggest splitting the T and O categories into separate ones for 
>> links pointing to installable files, or not.  All S category items 
>> are installable via pkg(1).
>>
>
> Another option that I think is possibly better is to enhance the 
> database to allow specification of both a direct link and an 
> informational link.  The latter is appropriate for interactive uses, 
> but not automatic ones.
OK.  I like this idea, but it may be a lot of work.  I'll propose it to 
the DDU team;  if they are too busy, then option 4 can be a fallback.

I'll update the spec with all changes discussed over the last few days 
and repost before tomorrow COB (to accommodate any comments which could 
come in on the add_drv -n email).

    thanks,
    Jack
>
> Dave
>


Reply via email to