[edk2-devel] [Patch v4 03/22] requirements.txt: Add python pip requirements file

Michael D Kinney michael.d.kinney at intel.com
Thu Nov 7 17:44:25 UTC 2019


Hi Laszlo,

requirements.txt is not only for CI.

If a developer wants to run the same tests that CI runs
locally that also need to install using pip and need 
this file.

Sean responded to this feedback earlier and pointed to 
some features that may depend on this specific filename
or a specific filename pattern.

https://edk2.groups.io/g/devel/message/49620

I agree that the pip command supports using a different
filename.  I considered several options:

1) Keep current requirements.txt in root
2) Change to pip_requirements.txt in root
3) Change to requirements.txt in the .pytool directory

I set (3) aside because the use of the python extensions
installed using pip are not limited to content in the
.pytool directory.  There is new content in BaseTools as
well that depends on the pip install components.  The 
root directory is the only common parent directory.

Given the feedback that there may be some services that
look for requirements.txt, I thought it would be better
to leave the filename alone and add the file header
comment block with a clear description of the file.

With this additional context, if there is still feedback
that the filename must be changed, then I would recommend
a filename change that also follows camel case in the root.  

    PipRequirements.txt

Best regards,

Mike

> -----Original Message-----
> From: Laszlo Ersek <lersek at redhat.com>
> Sent: Thursday, November 7, 2019 2:40 AM
> To: Kinney, Michael D <michael.d.kinney at intel.com>;
> devel at edk2.groups.io
> Cc: Sean Brogan <sean.brogan at microsoft.com>; Andrew Fish
> <afish at apple.com>; Leif Lindholm
> <leif.lindholm at linaro.org>
> Subject: Re: [Patch v4 03/22] requirements.txt: Add
> python pip requirements file
> 
> On 11/07/19 02:13, Michael D Kinney wrote:
> > From: Sean Brogan <sean.brogan at microsoft.com>
> >
> > Add pip requirements file that is used to install the
> python pip
> > modules build from the edk2-pytool-library and edk2-
> pytool-extensions
> > repositories.
> >
> > These python modules provide the extensions required
> to perform EDK II
> > Continuous Integration(CI) builds.
> >
> > Cc: Andrew Fish <afish at apple.com>
> > Cc: Laszlo Ersek <lersek at redhat.com>
> > Cc: Leif Lindholm <leif.lindholm at linaro.org>
> > Signed-off-by: Michael D Kinney
> <michael.d.kinney at intel.com>
> > ---
> >  requirements.txt | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >  create mode 100644 requirements.txt
> >
> > diff --git a/requirements.txt b/requirements.txt new
> file mode 100644
> > index 0000000000..4ad72cfc98
> > --- /dev/null
> > +++ b/requirements.txt
> > @@ -0,0 +1,17 @@
> > +## @file
> > +# EDK II Python PIP requirements file # # This file
> provides the list
> > +of python components to install using PIP.
> > +#
> > +# Copyright (c) Microsoft Corporation. All rights
> reserved.<BR> # #
> > +SPDX-License-Identifier: BSD-2-Clause-Patent # #
> > +https://pypi.org/project/pip/ #
> >
> +https://pip.pypa.io/en/stable/user_guide/#requirements-
> files
> > +#
> >
> +https://pip.pypa.io/en/stable/reference/pip_install/#re
> quirements-fil
> > +e-format
> > +#
> > +##
> > +
> > +edk2-pytool-library==0.10.*
> > +edk2-pytool-extensions==0.12.*
> >
> 
> This is better, but I still find the plain
> "requirements.txt" filename in the root directory of the
> project very confusing. What component
> *exactly* insists on this file path and file name?
> 
> I've checked
> 
> 
> https://pip.pypa.io/en/stable/user_guide/#requirements-
> files
> 
> and it seems like "pip" can take any pathname as an
> argument to option "-r".
> 
> There must be a component in the CI environment that
> invokes "pip". Can we file a feature request for that
> component, that it try "pip-requirements.txt" first?
> 
> Hmmm... I just googled "github pip requirements.txt",
> assuming that "github" was the component calling "pip".
> In the result list, I've found:
> 
> https://github.com/ClearingHouse/clearinghoused/blob/mas
> ter/pip-requirements.txt
> 
> Is it possible that github already knows to look for
> "pip-requirements.txt"? (Honestly I only suggested "pip-
> requirements.txt" above because it seemed sensible.) If
> that's the case, we should use it.
> 
> 
> Furthermore, my understanding is that "the list of
> python components to install using PIP" is only there
> for CI purposes. Can we please state that explicitly in
> the comment block? (The commit message already does
> that, and that's great.)
> 
> Basically when someone clones edk2 and runs "ls -l" for
> the first time, there's a good chance "requirements.txt"
> will be among the few files they open right after.
> 
> Thanks!
> Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#50252): https://edk2.groups.io/g/devel/message/50252
Mute This Topic: https://groups.io/mt/44874051/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list