Joseph J VLcek wrote:
> Evan Layton wrote:
>> Joseph J VLcek wrote:
>>> Evan Layton wrote:
>>>> Evan Layton wrote:
>>>>> Dave Miner wrote:
>>>>> <...>
>>>>>>>> I'd really like to figure out a means of not hard-coding the
>>>>>>>> boilerplate stuff that you have in be_create_menu(), though.
>>>>>>> I would to but so far I don't know of anywhere I can grab this
>>>>>>> information from if there isn't already a menu.lst file. Any ideas
>>>>>>> here would be a huge help.
>>>>>>>
>>>>>> There probably isn't since ict.py also has it hardcoded, and thus we
>>>>>> should invent something so that the results of an initial install and
>>>>>> this recovery are approximately the same. Something like a
>>>>>> menu.preamble that could be copied into place might do the trick.
>>>>> Hi Dave and Joe,
>>>>>
>>>>> What I have right now is a call to system() that calls the ict to fill
>>>>> in the menu.lst. Then I fill in the BE entries and figure out which BE
>>>>> is the currently active BE and use system("bootadm set-menu
>>>>> default=%d") based on which be is currently active. This results in a
>>>>> rebuilt menu.lst that appears to be accurate. However this does
>>>>> require that I call the ict to create the initial menu.lst file with
>>>>> the first three lines which still leaves us with the hard coded lines
>>>>> in ict.py. Should we place this menu.preamble file someplace and then
>>>>> use it for both libbe and ict.py?
>>>>>
>>>>> Thanks!
>>>>> -evan
>>>>>
>>>> I neglect to mention that I updated the webrev with the changes so far
>>>> to use as a reference...
>>>>
>>>> http://cr.opensolaris.org/~evanl/5221/
>>>>
>>>> -evan
>>>>
>>> I think, since ICT is the single point of access to this info, having a
>>> menu.preamble file is less important.
>>>
>>> If BE uses ICT and it is felt the menu.preamble is needed then the only
>>> code that would need to change is ICT.
>>>
>>> So I think Evan should move forward with this implementation. If others
>>> feel a menu.preamble has benefits then let's file a bug against ICT to
>>> use the menu.preamble.
>>>
>>> Evan I noticed you took this off caiman-discuss. Guessing that was by
>>> accident. I'm sending it back out to c-d.
>>>
>>> Joe
>>>
>> There was a sparc issue that I had failed to account for. I've fixed that
>> and
>> updated the webrev for that as well.
>>
>> Thanks,
>> -evan
>> _______________________________________________
>> caiman-discuss mailing list
>> caiman-discuss at opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss
>
> Evan,
>
> Summary of our phone conversation:
>
> In looking at the webrev I got an idea. Why not create a function which
> does both the attempt to open and if that fails then the attempt to
> create. What I am envisioning is a open( read|create ) type of thing.
Definitely a good idea. I've removed all this duplicate code and created
be_open_menu that now does this. I also moved the error message mentioned below
into this new function and corrected the message.
I also relized while going through this that I was setting the default wrong in
the menu.lst file. I was setting it based on the currently active BE and not
the
active on reboot BE which is what it should have been. I fixed this as well.
I've updated the webrev to reflect these changes.
>
> Also the error message, example on line 367, should be reworded since if
> the open fails the code attempts to create the file.
>
> Hope this helps. Joe
It definitely does help! :-)
-evan