Evan Layton wrote:
> Evan Layton wrote:
>> 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 realized 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
>
> As per our phone conversation I've added the comments around those
> places that we call be_has_grub to state that this is being called to
> check for grub support.
>
> I also added a warning message that will always be printed out when we
> create the new menu file.
>
> I've updated the webrev to reflect these as well as any other comments
> I've received to this point.
>
Sorry for the extreme delay in re-reviewing.
be_utils.c 3167: MAXPATHLEN abuse; this isn't a pathname.
Otherwise this is OK.
Dave
> Thanks!
> -evan