So that means I can start to create patch based on my proposal? Any concerns?
Thanks, Ray -----Original Message----- From: Rothman, Michael A Sent: Wednesday, September 16, 2015 9:20 AM To: Ni, Ruiyu <[email protected]> Cc: Carsey, Jaben <[email protected]>; Andrew Fish <[email protected]>; [email protected]; [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 > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

