> On Sep 22, 2015, at 11:13 PM, Ni, Ruiyu <[email protected]> wrote:
> 
> So that means I can start to create patch based on my proposal? Any concerns?
> 

I don’t see an issue. This feature can be proposed as an extension to the Shell 
specification longer term to ensure interoperability. 

Thanks,

Andrew Fish

> Thanks,
> Ray
> 
> -----Original Message-----
> From: Rothman, Michael A 
> Sent: Wednesday, September 16, 2015 9:20 AM
> To: Ni, Ruiyu <[email protected] <mailto:[email protected]>>
> Cc: Carsey, Jaben <[email protected] <mailto:[email protected]>>; 
> Andrew Fish <[email protected] <mailto:[email protected]>>; [email protected] 
> <mailto:[email protected]>; [email protected] 
> <mailto:[email protected]>
> Subject: Re: [edk2] Proposal to let standalone UEFI shell application carry 
> help inside .EFI instead of in .MAN file
> 
> I'll note for historical purposes that one of the reasons the shell subteam 
> moved to the use of .man pages parsed and exposed by the command processor 
> was largely to address what was deemed a Wild West and adhoc method of 
> describing help. So what we have defined today in the shell spec adds the 
> ability to expose various things like the command, descriptions, errors, 
> return values etc.
> 
> What I believe Ray proposed was a facility to have an external shell app 
> support the same robustness but without having to carry an external .man 
> page. His description is largely an extension to the implementation of the 
> intervals of the command processor to not only depend on a .man file for 
> third-party shell apps but seek the content exposed on an ImageHandle when 
> the app is launched.
> 
> Thanks,
> Michael A. Rothman
> ---
> Typed from his phone.
> 
>> On Sep 15, 2015, at 6:04 PM, Ni, Ruiyu <[email protected]> wrote:
>> 
>> Including Rothman Mike.
>> 
>> -----Original Message-----
>> From: edk2-devel [mailto:[email protected]] On Behalf Of 
>> Carsey, Jaben
>> Sent: Wednesday, September 16, 2015 1:48 AM
>> To: Andrew Fish <[email protected]>; [email protected]
>> Cc: Carsey, Jaben <[email protected]>; [email protected]
>> Subject: Re: [edk2] Proposal to let standalone UEFI shell application carry 
>> help inside .EFI instead of in .MAN file
>> 
>> 
>>> -----Original Message-----
>>> From: edk2-devel [mailto:[email protected]] On Behalf Of
>>> Andrew Fish
>>> Sent: Tuesday, September 15, 2015 8:33 AM
>>> To: [email protected]
>>> Cc: [email protected]
>>> Subject: Re: [edk2] Proposal to let standalone UEFI shell application carry
>>> help inside .EFI instead of in .MAN file
>>> Importance: High
>>> 
>>> 
>>>> On Sep 15, 2015, at 8:27 AM, [email protected] wrote:
>>>> 
>>>> I understand.  I have always believed the spec was wrong to try and take
>>> over "-?" from apps.  What it wants to do for internal command help is
>>> certainly something that it should specify, but it should not fail to 
>>> execute an
>>> application due to the arguments that are being passed to the app.
>>>> 
>>>> Because of this, the apps I write only recognize "/" as the switch 
>>>> character,
>>> so the user gets the help they are looking for if they invoke them with /h 
>>> (or
>>> any other argument they do not recognize as valid, unless, of course they 
>>> try
>>> "-?"; then they get no useful information at all :-().
>>>> 
>>>> As Ruiyu pointed out, the current spec makes providing an application to
>>> someone more complicated than it could otherwise be.
>>> 
>>> Jim,
>>> 
>>> +1
>>> If you just want to write (or port) a simple application I think you are 
>>> right
>>> that passing the entire command line to the application on MAN failure
>>> makes the most sense.
>> 
>> I agree.  That change would require a spec change and we are trying to 
>> provide a solution within the current spec.
>> 
>>> Thanks,
>>> 
>>> Andrew Fish
>>> 
>>>>> -----Original Message-----
>>>>> From: Carsey, Jaben [mailto:[email protected]
>>> <mailto:[email protected]>]
>>>>> Sent: Tuesday, September 15, 2015 9:43 AM
>>>>> To: Dailey, Jim; Ni, Ruiyu; [email protected] <mailto:edk2-
>>> [email protected]>
>>>>> Cc: Carsey, Jaben
>>>>> Subject: RE: Proposal to let standalone UEFI shell application carry help
>>>>> inside .EFI instead of in .MAN file
>>>>> 
>>>>> Jim,
>>>>> 
>>>>> Currently the shell spec requires a man file and dictates that the shell
>>>>> API GetHelp() be used for help processing.
>>>>> 
>>>>> This is a case where if that current usage would fail, can we have a
>>>>> fallback that extends beyond the behavior in the spec. I do not think
>>>>> this violates the spec, but simply goes past those requirements.
>>>>> 
>>>>> We do not want to execute a command other than the built in help
>>> command.
>>>>> 
>>>>> -Jaben
>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: edk2-devel [mailto:[email protected]] On Behalf
>>> Of
>>>>>> [email protected]
>>>>>> Sent: Tuesday, September 15, 2015 6:02 AM
>>>>>> To: Ni, Ruiyu ; [email protected] <mailto:[email protected]>
>>>>>> Subject: Re: [edk2] Proposal to let standalone UEFI shell application
>>>>>> carry help inside .EFI instead of in .MAN file
>>>>>> Importance: High
>>>>>> 
>>>>>> Yes, except if the shell can't find the man file (or it is invalid),
>>>>>> then the shell should simply execute the .efi and let it handle the
>>>>>> command line (regardless of EFI_HII_PACKAGE_LIST_PROTOCOL_GUID,
>>> etc.).
>>>>>> 
>>>>>> Regards,
>>>>>> Jim
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: edk2-devel [mailto:[email protected]
>>> <mailto:[email protected]>] On Behalf Of
>>>>>> Ni, Ruiyu
>>>>>> Sent: Monday, September 14, 2015 9:54 PM
>>>>>> To: [email protected] <mailto:[email protected]>
>>>>>> Cc: Carsey, Jaben; [email protected] <mailto:[email protected]>; Hale,
>>> Robert P; Rothman, Michael A
>>>>>> Subject: [edk2] Proposal to let standalone UEFI shell application
>>>>>> carry help inside .EFI instead of in .MAN file
>>>>>> 
>>>>>> All,
>>>>>> UEFI Shell scandalizes the help message in spec level so that a
>>>>>> standalone UEFI shell application can never get "-?" switch, instead
>>>>>> the Shell core
>>>>>> (interpreter) detects the "-?" and finds .MAN file for that shell
>>>>>> application in certain spec defined paths, then show the help
>>>>>> extracted from that .MAN file.
>>>>>> 
>>>>>> But it means distributing a UEFI shell application not only means
>>>>>> distributing a .EFI file but also distributing a .MAN file. If the
>>>>>> text formatted .MAN file is corrupted (edited by user by mistake), or
>>>>>> is missing (deleted by user by mistake), no help will be shown to user.
>>>>>> 
>>>>>> So I propose to embedded the help message inside the .EFI file in a PE
>>>>>> resource section and the algorithm to find help for a standalone
>>>>>> application is as following.
>>>>>> 
>>>>>> Search command.man file for valid help content If command.man exists
>>>>>> and help content is valid:
>>>>>> Display the help
>>>>>> Else:
>>>>>> Load the command.efi (do not start it) Check whether the ImageHandle
>>>>>> has EFI_HII_PACKAGE_LIST_PROTOCOL_GUID installed Check all strings
>>> in
>>>>>> the HII packages to find a string which follows spec defined help
>>>>>> format If the string
>>>>>> exists:
>>>>>> Display the help
>>>>>> Else:
>>>>>> Show "no Help"
>>>>>> 
>>>>>> Any comments, concerns?
>>>>>> 
>>>>>> 
>>>>>> Regards,
>>>>>> Ray
>>>>>> 
>>>>>> _______________________________________________
>>>>>> edk2-devel mailing list
>>>>>> [email protected] <mailto:[email protected]>
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-
>>> 3A__lists.01.org_mailman_listinfo_edk2-
>>> 2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut
>>> 5_idw&m=K073WsXs4JYJUmAO3NRo8GG0FMcHo0U2P4Lh3fVLZw4&s=wcp2
>>> bivI8l8Y9yu4AxZNYG0uDpFCdJfXL7_9o2rsfjo&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-
>>> 3A__lists.01.org_mailman_listinfo_edk2-
>>> 2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut
>>> 5_idw&m=K073WsXs4JYJUmAO3NRo8GG0FMcHo0U2P4Lh3fVLZw4&s=wcp2
>>> bivI8l8Y9yu4AxZNYG0uDpFCdJfXL7_9o2rsfjo&e=>
>>>>>> _______________________________________________
>>>>>> edk2-devel mailing list
>>>>>> [email protected] <mailto:[email protected]>
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-
>>> 3A__lists.01.org_mailman_listinfo_edk2-
>>> 2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut
>>> 5_idw&m=K073WsXs4JYJUmAO3NRo8GG0FMcHo0U2P4Lh3fVLZw4&s=wcp2
>>> bivI8l8Y9yu4AxZNYG0uDpFCdJfXL7_9o2rsfjo&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-
>>> 3A__lists.01.org_mailman_listinfo_edk2-
>>> 2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut
>>> 5_idw&m=K073WsXs4JYJUmAO3NRo8GG0FMcHo0U2P4Lh3fVLZw4&s=wcp2
>>> bivI8l8Y9yu4AxZNYG0uDpFCdJfXL7_9o2rsfjo&e=>
>>>> _______________________________________________
>>>> edk2-devel mailing list
>>>> [email protected] <mailto:[email protected]>
>>>> https://urldefense.proofpoint.com/v2/url?u=https-
>>> 3A__lists.01.org_mailman_listinfo_edk2-
>>> 2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut
>>> 5_idw&m=K073WsXs4JYJUmAO3NRo8GG0FMcHo0U2P4Lh3fVLZw4&s=wcp2
>>> bivI8l8Y9yu4AxZNYG0uDpFCdJfXL7_9o2rsfjo&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-
>>> 3A__lists.01.org_mailman_listinfo_edk2-
>>> 2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut
>>> 5_idw&m=K073WsXs4JYJUmAO3NRo8GG0FMcHo0U2P4Lh3fVLZw4&s=wcp2
>>> bivI8l8Y9yu4AxZNYG0uDpFCdJfXL7_9o2rsfjo&e=>
>>> _______________________________________________
>>> edk2-devel mailing list
>>> [email protected]
>>> https://lists.01.org/mailman/listinfo/edk2-devel 
>>> <https://lists.01.org/mailman/listinfo/edk2-devel>
>> _______________________________________________
>> edk2-devel mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.01.org/mailman/listinfo/edk2-devel 
>> <https://lists.01.org/mailman/listinfo/edk2-devel>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to