> 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

