public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>,
	"Shah, Tapan" <tapandshah@hpe.com>,
	"Carsey, Jaben" <jaben.carsey@intel.com>,
	Michael Zimmermann <sigmaepsilon92@gmail.com>
Cc: "Ni, Ruiyu" <ruiyu.ni@intel.com>,
	"Arshi, Shala" <shala.arshi@intel.com>,
	 "edk2-devel@lists.01.org" <edk2-devel@ml01.01.org>
Subject: Re: [PATCH] GPT Shell Application/Library
Date: Tue, 18 Oct 2016 19:23:54 +0200	[thread overview]
Message-ID: <a060b672-0bf7-0212-124d-d0acfca04f74@redhat.com> (raw)
In-Reply-To: <38cdf2c64b531db8250f900f4f4193cb@mail.gmail.com>

On 10/18/16 18:58, Vladimir Olovyannikov wrote:
> Thank you all for comments,
> 
> So to summarize the discussion:
> 
> 1. I will create a Shell library which would perform all GPT operations.
>      Part of PartitionDxe will also be in that library so PartitionDxe will
> be using it.
>      The gpt Shell tool will also be using it.

I think you might want to place the library class header file, and the
library instance, under MdeModulePkg. It's okay for the shell
application (or shell libraries) to depend on library classes / library
instances from MdeModulePkg, but -- I think -- it's not okay for a
driver in MdeModulePkg, such as PartitionDxe, to depend on a class +
instance from under ShellPkg.

Thanks!
Laszlo

> 2.  Refactor the parameters of the gpt utility to make it similar to other
> existing Shell commands.
>       BTW Is there any document describing Shell utility parameters'
> standards?
> 
> Please let me know if you have other suggestions.
> 
> Thank you,
> Vladimir
> 
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Shah,
> Tapan
> Sent: October-18-16 6:59 AM
> To: Carsey, Jaben; Vladimir Olovyannikov; Michael Zimmermann
> Cc: Ni, Ruiyu; Arshi, Shala; edk2-devel@lists.01.org; Laszlo Ersek
> Subject: Re: [edk2] [PATCH] GPT Shell Application/Library
> 
> Thanks for the contribution Vladimir!
> 
> Few comments:
> 1. It's better to refactor the code now before commit and move GPT related
> code outside ShellPkg and create a shared library.
> 2. CLI parameters of this utility are too complex and need to be refactored
> to make it similar to other existing Shell commands.
> 
> Thanks,
> Tapan
> 
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Carsey, Jaben
> Sent: Monday, October 17, 2016 12:56 PM
> To: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>; Michael
> Zimmermann <sigmaepsilon92@gmail.com>
> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; Arshi, Shala <shala.arshi@intel.com>;
> edk2-devel@lists.01.org <edk2-devel@ml01.01.org>; Carsey, Jaben
> <jaben.carsey@intel.com>; Laszlo Ersek <lersek@redhat.com>
> Subject: Re: [edk2] [PATCH] GPT Shell Application/Library
> 
> To the old question about license: I asked our people to check and was told
> that the license is compatible with our BSD and ok by Intel.
> 
> To the technical content – I really like this idea of a shared library.
> That would be a great way to share code and not have as much duplicate.
> 
> -Jaben
> 
> From: Vladimir Olovyannikov [mailto:vladimir.olovyannikov@broadcom.com]
> Sent: Monday, October 17, 2016 10:52 AM
> To: Michael Zimmermann <sigmaepsilon92@gmail.com>
> Cc: Laszlo Ersek <lersek@redhat.com>; Carsey, Jaben
> <jaben.carsey@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com>;
> edk2-devel@lists.01.org <edk2-devel@ml01.01.org>
> Subject: RE: [edk2] [PATCH] GPT Shell Application/Library
> Importance: High
> 
> Hi Michael,
> I am absolutely agree with your proposal.
> 
> In the gpt Shell library/application I had to “borrow” some stuff from
> PartitionDxe.c to not reinvent a  wheel.
> If the PartitionDxe maintainer agrees to have a separate library available
> for everybody, I would move all the GPT-related stuff from the GptWorker
> (and partially from the PartitionDxe itself) to that independent library.
> This could be a longer-term task.
> Right now I just wanted to share the tool which could be useful for anybody
> who would wish to manage GPT partitions (and/or do a FAT32 format of either
> a disk or a GPT partition) from within the Shell. What do you think?
> 
> Thank you,
> Vladimir
> From: Michael Zimmermann
> [mailto:sigmaepsilon92@gmail.com<mailto:sigmaepsilon92@gmail.com>]
> Sent: October-17-16 12:25 AM
> To: Vladimir Olovyannikov
> Cc: Laszlo Ersek; Jaben Carsey; Ni, Ruiyu;
> edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> Subject: Re: [edk2] [PATCH] GPT Shell Application/Library
> 
> Hi,
> 
> wouldn't it be better to make a generic gpt parsing library which is
> independent of the shell so both the shell and PartitionDxe can use it?
> It may also be useful for other applications which need additional
> information like the gpt partition names.
> 
> Thanks
> Michael
> 
> On Mon, Oct 17, 2016 at 8:49 AM, Vladimir Olovyannikov
> <vladimir.olovyannikov@broadcom.com<mailto:vladimir.olovyannikov@broadcom.com>>
> wrote:
> Thank you Laszlo,
> 
> Sorry, I missed the fields; it is my first contribution, I will add the
> required lines, review the source according to your comments and will
> resubmit the patch.
> So do you think the command should be _gpt instead of gpt? I was following
> TFTP and SF commands as a template.
> 
> Thank you,
> Vladimir
> 
> On Oct 16, 2016 1:05 PM, "Laszlo Ersek"
> <lersek@redhat.com<mailto:lersek@redhat.com>> wrote:
>>
>> On 10/16/16 07:23, Vladimir Olovyannikov wrote:
>>> This allows managing (create, delete, modify, fat format) of GPT
>>> partitions from within UEFI Shell.
>>> Syntax:
>>> gpt <command> [device_mapped_name] [parameters...] See usage
>>> examples in the .uni file
>>> ---
>>>  .../Library/UefiShellGptCommandLib/FatFormat.c     |  611 +++++++
>>>  .../Library/UefiShellGptCommandLib/FatFormat.h     |  111 ++
>>>  .../Library/UefiShellGptCommandLib/GptWorker.c     | 1902
> ++++++++++++++++++++
>>>  .../Library/UefiShellGptCommandLib/GptWorker.h     |  186 ++
>>>  .../UefiShellGptCommandLib.c                       | 1135 ++++++++++++
>>>  .../UefiShellGptCommandLib.inf                     |   79 +
>>>  .../UefiShellGptCommandLib.uni                     |  117 ++
>>>  ShellPkg/ShellPkg.dec                              |    1 +
>>>  ShellPkg/ShellPkg.dsc                              |    4 +
>>>  9 files changed, 4146 insertions(+)  create mode 100644
>>> ShellPkg/Library/UefiShellGptCommandLib/FatFormat.c
>>>  create mode 100644
>>> ShellPkg/Library/UefiShellGptCommandLib/FatFormat.h
>>>  create mode 100644
>>> ShellPkg/Library/UefiShellGptCommandLib/GptWorker.c
>>>  create mode 100644
>>> ShellPkg/Library/UefiShellGptCommandLib/GptWorker.h
>>>  create mode 100644
> ShellPkg/Library/UefiShellGptCommandLib/UefiShellGptCommandLib.c
>>>  create mode 100644
> ShellPkg/Library/UefiShellGptCommandLib/UefiShellGptCommandLib.inf
>>>  create mode 100644
> ShellPkg/Library/UefiShellGptCommandLib/UefiShellGptCommandLib.uni
>>
>> This looks like a supremely welcome, long-awaited addition (latest
>> request:
>> <https://lists.01.org/pipermail/edk2-devel/2016-October/002667.html>),
>> but it really needs your Signed-off-by, and the Contributed-under line
>> above it:
>>
>> ShellPkg/Contributions.txt
>>
>> I would also suggest (simply based on what I've seen elsewhere in
>> edk2) to keep the copyright notices tightly collected in the file
>> headings.
>>
>> Someone will have to go over all the licenses too -- does the "Marvell
>> BSD License Option" for example correspond to the 3-clause BSDL?
>>
>> On the technical side, I believe that as long as a shell command (or a
>> command option) is not standardized (in the shell spec), it usually
>> starts with an underscore (_), so as to prevent future name collisions.
>> (I could be wrong about this -- I now recall the TFTP command, which
>> is also not in the 2.2 spec.)
>>
>> Just my two cents.
>>
>> Thanks
>> Laszlo
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> https://lists.01.org/mailman/listinfo/edk2-devel
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> 



  parent reply	other threads:[~2016-10-18 17:23 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-16  5:23 [PATCH] GPT Shell Application/Library Vladimir Olovyannikov
2016-10-16 20:05 ` Laszlo Ersek
     [not found]   ` <CACmgjazi_K4Qo5=TeO_tCGK2cB26d0rqOEZh6TthP1UYbo6J6w@mail.gmail.com>
     [not found]     ` <CACmgjaziUEF2EsSn73HY5JvL2rmRWrXS+rHMtOQ1HaRwPpXS+g@mail.gmail.com>
2016-10-17  6:49       ` Vladimir Olovyannikov
2016-10-17  7:24         ` Michael Zimmermann
2016-10-17 17:52           ` Vladimir Olovyannikov
2016-10-17 17:56             ` Carsey, Jaben
2016-10-18 13:59               ` Shah, Tapan
2016-10-18 16:58                 ` Vladimir Olovyannikov
2016-10-18 17:04                   ` Carsey, Jaben
2016-10-18 18:03                     ` Shah, Tapan
2016-10-18 19:09                       ` Vladimir Olovyannikov
2016-10-18 17:23                   ` Laszlo Ersek [this message]
2016-10-18 18:03                     ` Vladimir Olovyannikov
2016-10-18 18:12                       ` Laszlo Ersek
2016-10-17  9:43         ` Laszlo Ersek
2016-10-17 16:35           ` Carsey, Jaben
2016-10-18  1:45 ` Ni, Ruiyu
2016-10-18  1:48   ` Tim Lewis
2016-10-18  1:55     ` Ni, Ruiyu
2016-10-18  2:59       ` Carsey, Jaben

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a060b672-0bf7-0212-124d-d0acfca04f74@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox