public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [RFC V2] EDK2 Platform Proposal
@ 2016-09-22 20:54 Kinney, Michael D
  2016-09-28 22:22 ` Leif Lindholm
  2016-10-05  6:11 ` Bhupesh Sharma
  0 siblings, 2 replies; 13+ messages in thread
From: Kinney, Michael D @ 2016-09-22 20:54 UTC (permalink / raw)
  To: edk2-devel@lists.01.org, Kinney, Michael D

Hello,



Here is the V2 version of the proposal for the edk2-platforms repo.



Changes from V1:

================

* edk2-platform is not a fork of edk2.

* edk2-platforms branches contain CPU, Chipset, SoC, and platform specific

  packages

* edk2-plaforms/master contains all open platforms that are synced with

  edk2/master.

* Each edk2-platforms branch may support many platforms (not just one)

* Use PACKAGES_PATH to do builds using packages from multiple repositories

* Update edk2-platforms branch naming to clearly identify platforms that

  are considered stable and platforms that are under active development.

* edk2 developers may be required to verify platforms in edk2-platforms

  builds as part of test criteria.  Especially platforms that are intended

  to be used with edk2/master in edk2-platforms/stable-* branches.



=================



Similar to edk2-staging, we also have a need to manage platforms

that have been ported to edk2.  Jordan has created a repository

called edk2-platforms and has created a branch for the

minnowboard-max that uses a validated release of the UDK 2015 for

the dependent packages:



https://github.com/tianocore/edk2-platforms



https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015



Instead of creating a branch per feature in edk2-staging, the

proposal is to create a branch per platform or set of platforms

in edk2-platforms.  The maintainer(s) that create and support a

platform branch can decide if the platform uses edk2/master for

dependent packages, or uses a stable release of the edk2 for dependent

packages.



This proposal provides an area for platform development so we can

minimize the number of platforms that are included in edk2/master.

It is important to keep some platforms in edk2/master so we can use

those platforms to validate features in non-platform packages in

edk2/master.  If a new platform does not add feature coverage to

edk2/master, then an edk2-platforms branch would be recommended.



Please review the proposal below for edk2-platforms.



If this proposal is accepted, then a review of the platforms in

edk2/master can be done to see if any of them should be moved to

branches in edk2-platforms.



<proposal>



Problem statement

=================

Need place on tianocore.org where platforms can be maintained by the

EDK II community.  This serves several purposes:



* Encourage more platforms sources to be shared earlier in the

  development process

* Allow platform sources to be shared that may not yet meet all edk2

  required quality criteria

* Allow platform source to be shared so the EDK II community may

  choose to help finish and validate

* Allow more platforms to be used as part of the edk2 validation and

  release cycle.

* Not intended to be used for bug fixes.



Proposal

========

1) Create a new repo called edk2-platforms

    a) The default branch edk2-platforms/master contains all open

       platforms that are actively validated against the packages

       in edk2/master.

    b) The intent is for packages in edk2-platforms to be CPU, Chipset,

       SoC, or platform specific.  Drivers that are CPU arch and platform

       agnostic should be put into the edk2 repo.



2) edk2-platforms discussions use the edk2-devel mailing list

   for design/patch/test using the following style for discussion

   of a platform branch in edk2-platforms repo.



     [platforms/branch]: Subject



3) All commits to edk2-platforms must follow same rules use for

   commits to edk2 (e.g. Tiano Contributor's Agreement)



4) Process to add a new branch to edk2-platforms



     a) Maintainer sends patch email to edk2-devel mailing list

        announcing the creation of a new branch in edk2-platforms

        with Readme.MD.  Readme.MD must be in root of branch with

        summary, owners, status, build instructions, target update

        instructions, OS compatibility, known issues/limitations,

        links to related materials, and anything else a developer

        needs to use platform(s) in that branch.



    b) Readme.MD must provide the PACKAGES_PATH setting required to

        build along with the branch names of other repos that platform

        requires.  This allows a platform developer(s) to use packages

        from edk2/master or to use packages from a validates UDK release

        (e.g. edk2/UDK2015).



     c) Maintainer creates branch with Readme.MD in edk2-platforms



     d) An edk2-platforms branch for platforms under developer use the

        following branch naming convention:

          edk2-platforms/devel-*



     e) An edk2-platforms branch for stable platforms use the following

        branch naming convention:



          edk2-platforms/stable-*



5) Process to update sources in edk2-platforms branch



     a) Commit message subject format:



          [platforms/branch PATCH]: Package/Module: Subject



     b) Directly commit changes to branch or if community review is desired,

        use edk2-devel review process.



7) Process to remove an edk2-platforms branch



     a) Stewards may periodically review of branches in edk2-platforms

        (once a quarter?)



     b) If no activity on a branch for extended period of time and the branch

        is not being maintained and is no longer functional then stewards

        send email to edk2-devel to request deletion of edk2-platforms branch.



     c) If no objections from EDK II community, then branch is deleted and

        archived at



          https://github.com/tianocore/edk2-archive.



8) How to evaluate a platform in edk2-platforms



     a) Clone edk2-platforms/[branch name]



     b) Following instructions in Readme.MD to build firmware and

        update target platform



</proposal>



Best regards,



Mike





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-09-22 20:54 [RFC V2] EDK2 Platform Proposal Kinney, Michael D
@ 2016-09-28 22:22 ` Leif Lindholm
  2016-09-28 22:27   ` Andrew Fish
                     ` (2 more replies)
  2016-10-05  6:11 ` Bhupesh Sharma
  1 sibling, 3 replies; 13+ messages in thread
From: Leif Lindholm @ 2016-09-28 22:22 UTC (permalink / raw)
  To: Kinney, Michael D; +Cc: edk2-devel@lists.01.org

Hi Mike,

On Thu, Sep 22, 2016 at 08:54:50PM +0000, Kinney, Michael D wrote:
> Hello,
> 
> 
> 
> Here is the V2 version of the proposal for the edk2-platforms repo.

I'm happy with the proposal in this state, but have a few suggested
updates (mostly to clarify that, long term, we expect most platforms
to exist in master) and a small suggested addition.

> Changes from V1:
> 
> ================
> 
> * edk2-platform is not a fork of edk2.
> 
> * edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
> 
>   packages
> 
> * edk2-plaforms/master contains all open platforms that are synced with
> 
>   edk2/master.
> 
> * Each edk2-platforms branch may support many platforms (not just one)
> 
> * Use PACKAGES_PATH to do builds using packages from multiple repositories
> 
> * Update edk2-platforms branch naming to clearly identify platforms that
> 
>   are considered stable and platforms that are under active development.
> 
> * edk2 developers may be required to verify platforms in edk2-platforms
> 
>   builds as part of test criteria.  Especially platforms that are intended
> 
>   to be used with edk2/master in edk2-platforms/stable-* branches.
> 
> 
> 
> =================
> 
> 
> 
> Similar to edk2-staging, we also have a need to manage platforms
> 
> that have been ported to edk2.  Jordan has created a repository
> 
> called edk2-platforms and has created a branch for the
> 
> minnowboard-max that uses a validated release of the UDK 2015 for
> 
> the dependent packages:
> 
> 
> 
> https://github.com/tianocore/edk2-platforms
> 
> 
> 
> https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015
> 
> 
> 
> Instead of creating a branch per feature in edk2-staging, the
> 
> proposal is to create a branch per platform or set of platforms
> 
> in edk2-platforms.  The maintainer(s) that create and support a
> 
> platform branch can decide if the platform uses edk2/master for
> 
> dependent packages, or uses a stable release of the edk2 for dependent
> 
> packages.
> 
> 
> 
> This proposal provides an area for platform development so we can
> 
> minimize the number of platforms that are included in edk2/master.
> 
> It is important to keep some platforms in edk2/master so we can use
> 
> those platforms to validate features in non-platform packages in
> 
> edk2/master.  If a new platform does not add feature coverage to
> 
> edk2/master, then an edk2-platforms branch would be recommended.

Suggest: ", then edk2-platforms would be recommended.".

> 
> 
> Please review the proposal below for edk2-platforms.
> 
> 
> 
> If this proposal is accepted, then a review of the platforms in
> 
> edk2/master can be done to see if any of them should be moved to
> 
> branches in edk2-platforms.

Suggest: "should be moved to edk2-platforms.".
> 
> 
> 
> <proposal>
> 
> 
> 
> Problem statement
> 
> =================
> 
> Need place on tianocore.org where platforms can be maintained by the
> 
> EDK II community.  This serves several purposes:
> 
> 
> 
> * Encourage more platforms sources to be shared earlier in the
> 
>   development process
> 
> * Allow platform sources to be shared that may not yet meet all edk2
> 
>   required quality criteria
> 
> * Allow platform source to be shared so the EDK II community may
> 
>   choose to help finish and validate
> 
> * Allow more platforms to be used as part of the edk2 validation and
> 
>   release cycle.
> 
> * Not intended to be used for bug fixes.

Does this final point still apply, now we're going to be using
PACKAGES_PATH rather than keep rebasing on top of edk2/master?

> 
> 
> 
> Proposal
> 
> ========
> 
> 1) Create a new repo called edk2-platforms
> 
>     a) The default branch edk2-platforms/master contains all open
> 
>        platforms that are actively validated against the packages
> 
>        in edk2/master.
> 
>     b) The intent is for packages in edk2-platforms to be CPU, Chipset,
> 
>        SoC, or platform specific.  Drivers that are CPU arch and platform
> 
>        agnostic should be put into the edk2 repo.
> 
> 
> 
> 2) edk2-platforms discussions use the edk2-devel mailing list
> 
>    for design/patch/test using the following style for discussion
> 
>    of a platform branch in edk2-platforms repo.
> 
> 
> 
>      [platforms/branch]: Subject
>
> 
> 
> 3) All commits to edk2-platforms must follow same rules use for
> 
>    commits to edk2 (e.g. Tiano Contributor's Agreement)
> 
> 
> 
> 4) Process to add a new branch to edk2-platforms
> 
> 
> 
>      a) Maintainer sends patch email to edk2-devel mailing list
> 
>         announcing the creation of a new branch in edk2-platforms
> 
>         with Readme.MD.  Readme.MD must be in root of branch with
> 
>         summary, owners, status, build instructions, target update
> 
>         instructions, OS compatibility, known issues/limitations,
> 
>         links to related materials, and anything else a developer
> 
>         needs to use platform(s) in that branch.
> 
> 
> 
>     b) Readme.MD must provide the PACKAGES_PATH setting required to
> 
>         build along with the branch names of other repos that platform
> 
>         requires.  This allows a platform developer(s) to use packages
> 
>         from edk2/master or to use packages from a validates UDK release

'validates' -> 'validated'

> 
>         (e.g. edk2/UDK2015).
> 
> 
> 
>      c) Maintainer creates branch with Readme.MD in edk2-platforms
> 
> 
> 
>      d) An edk2-platforms branch for platforms under developer use the

'under development'? 

>         following branch naming convention:
> 
>           edk2-platforms/devel-*
> 
> 
> 
>      e) An edk2-platforms branch for stable platforms use the following
> 
>         branch naming convention:
> 
> 
> 
>           edk2-platforms/stable-*
> 
> 

Do we need a:
---
X) Process to add platform to master?
   a) Maintainer ensures any code conflicts are resolved and merged to
      edk2-platforms/master.
      
   b) Maintainer sends email request to edk2-devel mailing list
      announcing intent to integrate a devel-* branch into master.

   c) Platform is reviewed for maturity, and merged to master when
      ready.

How would we do about Readme.MD on master?
Should it be something added to a common Readme.MD for all platforms
(sounds like it would expload), or should we simply make it move to
the platform-specific directory?
---

> 5) Process to update sources in edk2-platforms branch
> 
> 
> 
>      a) Commit message subject format:
> 
> 
> 
>           [platforms/branch PATCH]: Package/Module: Subject

Apologies for the late bikeshedding, but could we do this:
[PATCH][platforms/branch]
instead?
To reduce command line tedium with git format-patch.

> 
> 
>      b) Directly commit changes to branch or if community review is desired,
> 
>         use edk2-devel review process.
> 
> 
> 
> 7) Process to remove an edk2-platforms branch
> 
> 
> 
>      a) Stewards may periodically review of branches in edk2-platforms
> 
>         (once a quarter?)
> 
> 
> 
>      b) If no activity on a branch for extended period of time and the branch
> 
>         is not being maintained and is no longer functional then stewards
> 
>         send email to edk2-devel to request deletion of edk2-platforms branch.
> 
> 
> 
>      c) If no objections from EDK II community, then branch is deleted and
> 
>         archived at
> 
> 
> 
>           https://github.com/tianocore/edk2-archive.
> 
> 
> 
> 8) How to evaluate a platform in edk2-platforms
> 
> 
> 
>      a) Clone edk2-platforms/[branch name]
> 
> 
> 
>      b) Following instructions in Readme.MD to build firmware and
> 
>         update target platform

Question again about Readme.MD for master branch.

Regards,

Leif

> 
> 
> </proposal>
> 
> 
> 
> Best regards,
> 
> 
> 
> Mike
> 
> 
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-09-28 22:22 ` Leif Lindholm
@ 2016-09-28 22:27   ` Andrew Fish
  2016-09-29 22:21     ` Kinney, Michael D
  2016-09-29 22:15   ` Kinney, Michael D
  2016-10-14  7:14   ` Kinney, Michael D
  2 siblings, 1 reply; 13+ messages in thread
From: Andrew Fish @ 2016-09-28 22:27 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: Mike Kinney, edk2-devel@lists.01.org


> On Sep 28, 2016, at 3:22 PM, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> 
> How would we do about Readme.MD on master?
> Should it be something added to a common Readme.MD for all platforms
> (sounds like it would expload), or should we simply make it move to
> the platform-specific directory?
> ---

Can we link the Readme.MD to platform specific readmes via hyperlinks, or at list relative path to the other files.?

Thanks,

Andrew Fish 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-09-28 22:22 ` Leif Lindholm
  2016-09-28 22:27   ` Andrew Fish
@ 2016-09-29 22:15   ` Kinney, Michael D
  2016-10-14  7:14   ` Kinney, Michael D
  2 siblings, 0 replies; 13+ messages in thread
From: Kinney, Michael D @ 2016-09-29 22:15 UTC (permalink / raw)
  To: Leif Lindholm, Kinney, Michael D; +Cc: edk2-devel@lists.01.org

Leif,

Thanks for the feedback.  

I think at this point I will add the detailed proposal to the
Readme.MD in the edk2-platforms repo and make the edits you
suggest there so you can review the updates and additional
clarifications can be made in place.

Mike

> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Wednesday, September 28, 2016 3:23 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> 
> Hi Mike,
> 
> On Thu, Sep 22, 2016 at 08:54:50PM +0000, Kinney, Michael D wrote:
> > Hello,
> >
> >
> >
> > Here is the V2 version of the proposal for the edk2-platforms repo.
> 
> I'm happy with the proposal in this state, but have a few suggested
> updates (mostly to clarify that, long term, we expect most platforms
> to exist in master) and a small suggested addition.
> 
> > Changes from V1:
> >
> > ================
> >
> > * edk2-platform is not a fork of edk2.
> >
> > * edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
> >
> >   packages
> >
> > * edk2-plaforms/master contains all open platforms that are synced with
> >
> >   edk2/master.
> >
> > * Each edk2-platforms branch may support many platforms (not just one)
> >
> > * Use PACKAGES_PATH to do builds using packages from multiple repositories
> >
> > * Update edk2-platforms branch naming to clearly identify platforms that
> >
> >   are considered stable and platforms that are under active development.
> >
> > * edk2 developers may be required to verify platforms in edk2-platforms
> >
> >   builds as part of test criteria.  Especially platforms that are intended
> >
> >   to be used with edk2/master in edk2-platforms/stable-* branches.
> >
> >
> >
> > =================
> >
> >
> >
> > Similar to edk2-staging, we also have a need to manage platforms
> >
> > that have been ported to edk2.  Jordan has created a repository
> >
> > called edk2-platforms and has created a branch for the
> >
> > minnowboard-max that uses a validated release of the UDK 2015 for
> >
> > the dependent packages:
> >
> >
> >
> > https://github.com/tianocore/edk2-platforms
> >
> >
> >
> > https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015
> >
> >
> >
> > Instead of creating a branch per feature in edk2-staging, the
> >
> > proposal is to create a branch per platform or set of platforms
> >
> > in edk2-platforms.  The maintainer(s) that create and support a
> >
> > platform branch can decide if the platform uses edk2/master for
> >
> > dependent packages, or uses a stable release of the edk2 for dependent
> >
> > packages.
> >
> >
> >
> > This proposal provides an area for platform development so we can
> >
> > minimize the number of platforms that are included in edk2/master.
> >
> > It is important to keep some platforms in edk2/master so we can use
> >
> > those platforms to validate features in non-platform packages in
> >
> > edk2/master.  If a new platform does not add feature coverage to
> >
> > edk2/master, then an edk2-platforms branch would be recommended.
> 
> Suggest: ", then edk2-platforms would be recommended.".
> 
> >
> >
> > Please review the proposal below for edk2-platforms.
> >
> >
> >
> > If this proposal is accepted, then a review of the platforms in
> >
> > edk2/master can be done to see if any of them should be moved to
> >
> > branches in edk2-platforms.
> 
> Suggest: "should be moved to edk2-platforms.".
> >
> >
> >
> > <proposal>
> >
> >
> >
> > Problem statement
> >
> > =================
> >
> > Need place on tianocore.org where platforms can be maintained by the
> >
> > EDK II community.  This serves several purposes:
> >
> >
> >
> > * Encourage more platforms sources to be shared earlier in the
> >
> >   development process
> >
> > * Allow platform sources to be shared that may not yet meet all edk2
> >
> >   required quality criteria
> >
> > * Allow platform source to be shared so the EDK II community may
> >
> >   choose to help finish and validate
> >
> > * Allow more platforms to be used as part of the edk2 validation and
> >
> >   release cycle.
> >
> > * Not intended to be used for bug fixes.
> 
> Does this final point still apply, now we're going to be using
> PACKAGES_PATH rather than keep rebasing on top of edk2/master?
> 
> >
> >
> >
> > Proposal
> >
> > ========
> >
> > 1) Create a new repo called edk2-platforms
> >
> >     a) The default branch edk2-platforms/master contains all open
> >
> >        platforms that are actively validated against the packages
> >
> >        in edk2/master.
> >
> >     b) The intent is for packages in edk2-platforms to be CPU, Chipset,
> >
> >        SoC, or platform specific.  Drivers that are CPU arch and platform
> >
> >        agnostic should be put into the edk2 repo.
> >
> >
> >
> > 2) edk2-platforms discussions use the edk2-devel mailing list
> >
> >    for design/patch/test using the following style for discussion
> >
> >    of a platform branch in edk2-platforms repo.
> >
> >
> >
> >      [platforms/branch]: Subject
> >
> >
> >
> > 3) All commits to edk2-platforms must follow same rules use for
> >
> >    commits to edk2 (e.g. Tiano Contributor's Agreement)
> >
> >
> >
> > 4) Process to add a new branch to edk2-platforms
> >
> >
> >
> >      a) Maintainer sends patch email to edk2-devel mailing list
> >
> >         announcing the creation of a new branch in edk2-platforms
> >
> >         with Readme.MD.  Readme.MD must be in root of branch with
> >
> >         summary, owners, status, build instructions, target update
> >
> >         instructions, OS compatibility, known issues/limitations,
> >
> >         links to related materials, and anything else a developer
> >
> >         needs to use platform(s) in that branch.
> >
> >
> >
> >     b) Readme.MD must provide the PACKAGES_PATH setting required to
> >
> >         build along with the branch names of other repos that platform
> >
> >         requires.  This allows a platform developer(s) to use packages
> >
> >         from edk2/master or to use packages from a validates UDK release
> 
> 'validates' -> 'validated'
> 
> >
> >         (e.g. edk2/UDK2015).
> >
> >
> >
> >      c) Maintainer creates branch with Readme.MD in edk2-platforms
> >
> >
> >
> >      d) An edk2-platforms branch for platforms under developer use the
> 
> 'under development'?
> 
> >         following branch naming convention:
> >
> >           edk2-platforms/devel-*
> >
> >
> >
> >      e) An edk2-platforms branch for stable platforms use the following
> >
> >         branch naming convention:
> >
> >
> >
> >           edk2-platforms/stable-*
> >
> >
> 
> Do we need a:
> ---
> X) Process to add platform to master?
>    a) Maintainer ensures any code conflicts are resolved and merged to
>       edk2-platforms/master.
> 
>    b) Maintainer sends email request to edk2-devel mailing list
>       announcing intent to integrate a devel-* branch into master.
> 
>    c) Platform is reviewed for maturity, and merged to master when
>       ready.
> 
> How would we do about Readme.MD on master?
> Should it be something added to a common Readme.MD for all platforms
> (sounds like it would expload), or should we simply make it move to
> the platform-specific directory?
> ---
> 
> > 5) Process to update sources in edk2-platforms branch
> >
> >
> >
> >      a) Commit message subject format:
> >
> >
> >
> >           [platforms/branch PATCH]: Package/Module: Subject
> 
> Apologies for the late bikeshedding, but could we do this:
> [PATCH][platforms/branch]
> instead?
> To reduce command line tedium with git format-patch.
> 
> >
> >
> >      b) Directly commit changes to branch or if community review is desired,
> >
> >         use edk2-devel review process.
> >
> >
> >
> > 7) Process to remove an edk2-platforms branch
> >
> >
> >
> >      a) Stewards may periodically review of branches in edk2-platforms
> >
> >         (once a quarter?)
> >
> >
> >
> >      b) If no activity on a branch for extended period of time and the branch
> >
> >         is not being maintained and is no longer functional then stewards
> >
> >         send email to edk2-devel to request deletion of edk2-platforms branch.
> >
> >
> >
> >      c) If no objections from EDK II community, then branch is deleted and
> >
> >         archived at
> >
> >
> >
> >           https://github.com/tianocore/edk2-archive.
> >
> >
> >
> > 8) How to evaluate a platform in edk2-platforms
> >
> >
> >
> >      a) Clone edk2-platforms/[branch name]
> >
> >
> >
> >      b) Following instructions in Readme.MD to build firmware and
> >
> >         update target platform
> 
> Question again about Readme.MD for master branch.
> 
> Regards,
> 
> Leif
> 
> >
> >
> > </proposal>
> >
> >
> >
> > Best regards,
> >
> >
> >
> > Mike
> >
> >
> >
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-09-28 22:27   ` Andrew Fish
@ 2016-09-29 22:21     ` Kinney, Michael D
  0 siblings, 0 replies; 13+ messages in thread
From: Kinney, Michael D @ 2016-09-29 22:21 UTC (permalink / raw)
  To: afish@apple.com, Leif Lindholm, Kinney, Michael D; +Cc: edk2-devel@lists.01.org

Andrew,

I agree we can put a Readme.MD in each supported branch of edk2-platforms.
If a branch contains support for more than one platform, then the details 
for each platform can be put into a Readme.MD in each platform package in
that branch and the Readme.MD at the root of the branch can provide an
inventory of platforms supported and links to the platform specific Readme.MD
files.

I can add a template branch to edk2-platforms to demonstrates this concept.

I might also be interesting to have an inventory of all platforms in 
all edk2-platforms branches.  That inventory may be easier to maintain 
in a tianocore.org wiki page.

Mike

From: afish@apple.com [mailto:afish@apple.com] 
Sent: Wednesday, September 28, 2016 3:27 PM
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Kinney, Michael D <michael.d.kinney@intel.com>; edk2-devel@lists.01.org
Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal


On Sep 28, 2016, at 3:22 PM, Leif Lindholm <leif.lindholm@linaro.org> wrote:

How would we do about Readme.MD on master?
Should it be something added to a common Readme.MD for all platforms
(sounds like it would expload), or should we simply make it move to
the platform-specific directory?
---

Can we link the Readme.MD to platform specific readmes via hyperlinks, or at list relative path to the other files.?

Thanks,

Andrew Fish 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-09-22 20:54 [RFC V2] EDK2 Platform Proposal Kinney, Michael D
  2016-09-28 22:22 ` Leif Lindholm
@ 2016-10-05  6:11 ` Bhupesh Sharma
  2016-10-05 13:23   ` Richardson, Brian
  2016-10-05 14:16   ` Sakar Arora
  1 sibling, 2 replies; 13+ messages in thread
From: Bhupesh Sharma @ 2016-10-05  6:11 UTC (permalink / raw)
  To: Kinney, Michael D, edk2-devel@lists.01.org

> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Kinney, Michael D
> Sent: Friday, September 23, 2016 2:25 AM

> Hello,
> 
> 
> 
> Here is the V2 version of the proposal for the edk2-platforms repo.
> 
> 
> 
> Changes from V1:
> 
> ================
> 
> * edk2-platform is not a fork of edk2.
> 
> * edk2-platforms branches contain CPU, Chipset, SoC, and platform
> specific
> 
>   packages
> 
> * edk2-plaforms/master contains all open platforms that are synced with
> 
>   edk2/master.
> 
> * Each edk2-platforms branch may support many platforms (not just one)
> 
> * Use PACKAGES_PATH to do builds using packages from multiple
> repositories
> 
> * Update edk2-platforms branch naming to clearly identify platforms
> that
> 
>   are considered stable and platforms that are under active
> development.
> 
> * edk2 developers may be required to verify platforms in edk2-platforms
> 
>   builds as part of test criteria.  Especially platforms that are
> intended
> 
>   to be used with edk2/master in edk2-platforms/stable-* branches.
> 
> 
> 
> =================
> 
> 
> 
> Similar to edk2-staging, we also have a need to manage platforms
> 
> that have been ported to edk2.  Jordan has created a repository
> 
> called edk2-platforms and has created a branch for the
> 
> minnowboard-max that uses a validated release of the UDK 2015 for
> 
> the dependent packages:
> 
> 
> 
> https://github.com/tianocore/edk2-platforms
> 
> 
> 
> https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-
> udk2015

[Bhupesh] This link seems broken. I get a 404 error while trying to acess
this branch. Does it require some special privileges.

Regards,
Bhupesh

[snip..]


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-10-05  6:11 ` Bhupesh Sharma
@ 2016-10-05 13:23   ` Richardson, Brian
  2016-10-05 14:16   ` Sakar Arora
  1 sibling, 0 replies; 13+ messages in thread
From: Richardson, Brian @ 2016-10-05 13:23 UTC (permalink / raw)
  To: Bhupesh Sharma, Kinney, Michael D, edk2-devel@lists.01.org

This link is correct ...
https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015 

If you cannot get the link to work, go to this link first ...
https://github.com/tianocore/edk2-platforms 
... then click on the 'Branch' button and select 'minnowboard-max-udk2015' from the dropdown list.

Thanks ... br
---
Brian Richardson, Senior Technical Marketing Engineer, Intel Software
brian.richardson@intel.com -- http://evangelists.intel.com/bio/Brian_Richardson_

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Bhupesh Sharma
Sent: Wednesday, October 5, 2016 2:11 AM
To: Kinney, Michael D <michael.d.kinney@intel.com>; edk2-devel@lists.01.org
Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal

> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 
> Kinney, Michael D
> Sent: Friday, September 23, 2016 2:25 AM

> Hello,
> 
> 
> 
> Here is the V2 version of the proposal for the edk2-platforms repo.
> 
> 
> 
> Changes from V1:
> 
> ================
> 
> * edk2-platform is not a fork of edk2.
> 
> * edk2-platforms branches contain CPU, Chipset, SoC, and platform 
> specific
> 
>   packages
> 
> * edk2-plaforms/master contains all open platforms that are synced 
> with
> 
>   edk2/master.
> 
> * Each edk2-platforms branch may support many platforms (not just one)
> 
> * Use PACKAGES_PATH to do builds using packages from multiple 
> repositories
> 
> * Update edk2-platforms branch naming to clearly identify platforms 
> that
> 
>   are considered stable and platforms that are under active 
> development.
> 
> * edk2 developers may be required to verify platforms in 
> edk2-platforms
> 
>   builds as part of test criteria.  Especially platforms that are 
> intended
> 
>   to be used with edk2/master in edk2-platforms/stable-* branches.
> 
> 
> 
> =================
> 
> 
> 
> Similar to edk2-staging, we also have a need to manage platforms
> 
> that have been ported to edk2.  Jordan has created a repository
> 
> called edk2-platforms and has created a branch for the
> 
> minnowboard-max that uses a validated release of the UDK 2015 for
> 
> the dependent packages:
> 
> 
> 
> https://github.com/tianocore/edk2-platforms
> 
> 
> 
> https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-
> udk2015

[Bhupesh] This link seems broken. I get a 404 error while trying to acess this branch. Does it require some special privileges.

Regards,
Bhupesh

[snip..]
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-10-05  6:11 ` Bhupesh Sharma
  2016-10-05 13:23   ` Richardson, Brian
@ 2016-10-05 14:16   ` Sakar Arora
  2016-10-10 19:22     ` Leif Lindholm
  1 sibling, 1 reply; 13+ messages in thread
From: Sakar Arora @ 2016-10-05 14:16 UTC (permalink / raw)
  To: Bhupesh Sharma, Kinney, Michael D, edk2-devel@lists.01.org

Hi,

A few questions here.

What is the proposed directory structure for the edk2-patforms branches? 
Will it be the same as in https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015, which is just the same as edk2?
Or, will it be the similar to platform specific part of the directory structure proposed in https://github.com/mdkinney/edk2/tree/NewDirStruct_V3 ?
Or, similar to https://git.linaro.org/uefi/OpenPlatformPkg.git/tree?
Or, left to platform developers' discretion?

Thanks,
Sakar
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Bhupesh Sharma
Sent: Wednesday, October 05, 2016 11:41 AM
To: Kinney, Michael D <michael.d.kinney@intel.com>; edk2-devel@lists.01.org
Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal

> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 
> Kinney, Michael D
> Sent: Friday, September 23, 2016 2:25 AM

> Hello,
> 
> 
> 
> Here is the V2 version of the proposal for the edk2-platforms repo.
> 
> 
> 
> Changes from V1:
> 
> ================
> 
> * edk2-platform is not a fork of edk2.
> 
> * edk2-platforms branches contain CPU, Chipset, SoC, and platform 
> specific
> 
>   packages
> 
> * edk2-plaforms/master contains all open platforms that are synced 
> with
> 
>   edk2/master.
> 
> * Each edk2-platforms branch may support many platforms (not just one)
> 
> * Use PACKAGES_PATH to do builds using packages from multiple 
> repositories
> 
> * Update edk2-platforms branch naming to clearly identify platforms 
> that
> 
>   are considered stable and platforms that are under active 
> development.
> 
> * edk2 developers may be required to verify platforms in 
> edk2-platforms
> 
>   builds as part of test criteria.  Especially platforms that are 
> intended
> 
>   to be used with edk2/master in edk2-platforms/stable-* branches.
> 
> 
> 
> =================
> 
> 
> 
> Similar to edk2-staging, we also have a need to manage platforms
> 
> that have been ported to edk2.  Jordan has created a repository
> 
> called edk2-platforms and has created a branch for the
> 
> minnowboard-max that uses a validated release of the UDK 2015 for
> 
> the dependent packages:
> 
> 
> 
> https://github.com/tianocore/edk2-platforms
> 
> 
> 
> https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-
> udk2015

[Bhupesh] This link seems broken. I get a 404 error while trying to acess this branch. Does it require some special privileges.

Regards,
Bhupesh

[snip..]
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-10-05 14:16   ` Sakar Arora
@ 2016-10-10 19:22     ` Leif Lindholm
  0 siblings, 0 replies; 13+ messages in thread
From: Leif Lindholm @ 2016-10-10 19:22 UTC (permalink / raw)
  To: Sakar Arora; +Cc: Bhupesh Sharma, Kinney, Michael D, edk2-devel@lists.01.org

Hi Sakar,

Apologies for lag.
What follows are my thoughts, not really discussed with Andrew/Mike.

On Wed, Oct 05, 2016 at 02:16:19PM +0000, Sakar Arora wrote:
> Hi,
> 
> A few questions here.
> 
> What is the proposed directory structure for the edk2-patforms branches? 
> Will it be the same as in
> https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015,
> which is just the same as edk2?

No, this was one of the original ideas, but we decided on using a
completely separate structure and utilise PACKAGES_PATH to link the
repositories together for building.

On the one hand, I see no reason to change the minnowboard UDK branch,
the one branch that will have a strict layout is
edk2-platforms/master. Others will probably align to a similar layout
for expedience, as time progresses.

> Or, will it be the similar to platform specific part of the
> directory structure proposed in
> https://github.com/mdkinney/edk2/tree/NewDirStruct_V3 ?

That would be my view, yes. Clearly this would simplify migrating new
platforms to edk2/master when desired..

> Or, similar to https://git.linaro.org/uefi/OpenPlatformPkg.git/tree?
> Or, left to platform developers' discretion?

I originally envisioned something more like OpenPlatformPkg (well, I
would, wouldn't I). But one of the things we clarified during
discussions at the recent plugfest was that device drivers, for
devices usable across multiple platforms, belong in edk2/master. So
once NewDirStruct happens, I'm likely to start migrating the
standalone drivers from OpenPlatformPkg into there.

Regards,

Leif

> Thanks,
> Sakar
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Bhupesh Sharma
> Sent: Wednesday, October 05, 2016 11:41 AM
> To: Kinney, Michael D <michael.d.kinney@intel.com>; edk2-devel@lists.01.org
> Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> 
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 
> > Kinney, Michael D
> > Sent: Friday, September 23, 2016 2:25 AM
> 
> > Hello,
> > 
> > 
> > 
> > Here is the V2 version of the proposal for the edk2-platforms repo.
> > 
> > 
> > 
> > Changes from V1:
> > 
> > ================
> > 
> > * edk2-platform is not a fork of edk2.
> > 
> > * edk2-platforms branches contain CPU, Chipset, SoC, and platform 
> > specific
> > 
> >   packages
> > 
> > * edk2-plaforms/master contains all open platforms that are synced 
> > with
> > 
> >   edk2/master.
> > 
> > * Each edk2-platforms branch may support many platforms (not just one)
> > 
> > * Use PACKAGES_PATH to do builds using packages from multiple 
> > repositories
> > 
> > * Update edk2-platforms branch naming to clearly identify platforms 
> > that
> > 
> >   are considered stable and platforms that are under active 
> > development.
> > 
> > * edk2 developers may be required to verify platforms in 
> > edk2-platforms
> > 
> >   builds as part of test criteria.  Especially platforms that are 
> > intended
> > 
> >   to be used with edk2/master in edk2-platforms/stable-* branches.
> > 
> > 
> > 
> > =================
> > 
> > 
> > 
> > Similar to edk2-staging, we also have a need to manage platforms
> > 
> > that have been ported to edk2.  Jordan has created a repository
> > 
> > called edk2-platforms and has created a branch for the
> > 
> > minnowboard-max that uses a validated release of the UDK 2015 for
> > 
> > the dependent packages:
> > 
> > 
> > 
> > https://github.com/tianocore/edk2-platforms
> > 
> > 
> > 
> > https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-
> > udk2015
> 
> [Bhupesh] This link seems broken. I get a 404 error while trying to acess this branch. Does it require some special privileges.
> 
> Regards,
> Bhupesh
> 
> [snip..]
> _______________________________________________
> 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


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-09-28 22:22 ` Leif Lindholm
  2016-09-28 22:27   ` Andrew Fish
  2016-09-29 22:15   ` Kinney, Michael D
@ 2016-10-14  7:14   ` Kinney, Michael D
  2016-10-14  7:25     ` Kinney, Michael D
  2 siblings, 1 reply; 13+ messages in thread
From: Kinney, Michael D @ 2016-10-14  7:14 UTC (permalink / raw)
  To: Leif Lindholm, Andrew Fish (afish@apple.com), Kinney, Michael D
  Cc: edk2-devel@lists.01.org

Leif and Andrew,

I have added the content of this proposal to a new Readme.md file in
the edk2-platforms/about branch and removed the old README file.

  https://github.com/tianocore/edk2-platforms/tree/about

I have also added a template at the bottom of the process description
for a Readme.md that describes multiple platforms with links to a 
Readme.md in each platform specific subdirectory.

I have also addressed the all the feedback from Leif except for 
adding platforms to edk2-platforms/master.  I think platforms
should start in an edk2-platforms/devel-* branch and when they
become stable move to an edk2-platforms/stable-* branch.  Stable
branches may support multiple platform.

Using this model, there would not be an edk2-platforms/master
branch.

Mike


> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Wednesday, September 28, 2016 3:23 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> 
> Hi Mike,
> 
> On Thu, Sep 22, 2016 at 08:54:50PM +0000, Kinney, Michael D wrote:
> > Hello,
> >
> >
> >
> > Here is the V2 version of the proposal for the edk2-platforms repo.
> 
> I'm happy with the proposal in this state, but have a few suggested
> updates (mostly to clarify that, long term, we expect most platforms
> to exist in master) and a small suggested addition.
> 
> > Changes from V1:
> >
> > ================
> >
> > * edk2-platform is not a fork of edk2.
> >
> > * edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
> >
> >   packages
> >
> > * edk2-plaforms/master contains all open platforms that are synced with
> >
> >   edk2/master.
> >
> > * Each edk2-platforms branch may support many platforms (not just one)
> >
> > * Use PACKAGES_PATH to do builds using packages from multiple repositories
> >
> > * Update edk2-platforms branch naming to clearly identify platforms that
> >
> >   are considered stable and platforms that are under active development.
> >
> > * edk2 developers may be required to verify platforms in edk2-platforms
> >
> >   builds as part of test criteria.  Especially platforms that are intended
> >
> >   to be used with edk2/master in edk2-platforms/stable-* branches.
> >
> >
> >
> > =================
> >
> >
> >
> > Similar to edk2-staging, we also have a need to manage platforms
> >
> > that have been ported to edk2.  Jordan has created a repository
> >
> > called edk2-platforms and has created a branch for the
> >
> > minnowboard-max that uses a validated release of the UDK 2015 for
> >
> > the dependent packages:
> >
> >
> >
> > https://github.com/tianocore/edk2-platforms
> >
> >
> >
> > https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015
> >
> >
> >
> > Instead of creating a branch per feature in edk2-staging, the
> >
> > proposal is to create a branch per platform or set of platforms
> >
> > in edk2-platforms.  The maintainer(s) that create and support a
> >
> > platform branch can decide if the platform uses edk2/master for
> >
> > dependent packages, or uses a stable release of the edk2 for dependent
> >
> > packages.
> >
> >
> >
> > This proposal provides an area for platform development so we can
> >
> > minimize the number of platforms that are included in edk2/master.
> >
> > It is important to keep some platforms in edk2/master so we can use
> >
> > those platforms to validate features in non-platform packages in
> >
> > edk2/master.  If a new platform does not add feature coverage to
> >
> > edk2/master, then an edk2-platforms branch would be recommended.
> 
> Suggest: ", then edk2-platforms would be recommended.".
> 
> >
> >
> > Please review the proposal below for edk2-platforms.
> >
> >
> >
> > If this proposal is accepted, then a review of the platforms in
> >
> > edk2/master can be done to see if any of them should be moved to
> >
> > branches in edk2-platforms.
> 
> Suggest: "should be moved to edk2-platforms.".
> >
> >
> >
> > <proposal>
> >
> >
> >
> > Problem statement
> >
> > =================
> >
> > Need place on tianocore.org where platforms can be maintained by the
> >
> > EDK II community.  This serves several purposes:
> >
> >
> >
> > * Encourage more platforms sources to be shared earlier in the
> >
> >   development process
> >
> > * Allow platform sources to be shared that may not yet meet all edk2
> >
> >   required quality criteria
> >
> > * Allow platform source to be shared so the EDK II community may
> >
> >   choose to help finish and validate
> >
> > * Allow more platforms to be used as part of the edk2 validation and
> >
> >   release cycle.
> >
> > * Not intended to be used for bug fixes.
> 
> Does this final point still apply, now we're going to be using
> PACKAGES_PATH rather than keep rebasing on top of edk2/master?
> 
> >
> >
> >
> > Proposal
> >
> > ========
> >
> > 1) Create a new repo called edk2-platforms
> >
> >     a) The default branch edk2-platforms/master contains all open
> >
> >        platforms that are actively validated against the packages
> >
> >        in edk2/master.
> >
> >     b) The intent is for packages in edk2-platforms to be CPU, Chipset,
> >
> >        SoC, or platform specific.  Drivers that are CPU arch and platform
> >
> >        agnostic should be put into the edk2 repo.
> >
> >
> >
> > 2) edk2-platforms discussions use the edk2-devel mailing list
> >
> >    for design/patch/test using the following style for discussion
> >
> >    of a platform branch in edk2-platforms repo.
> >
> >
> >
> >      [platforms/branch]: Subject
> >
> >
> >
> > 3) All commits to edk2-platforms must follow same rules use for
> >
> >    commits to edk2 (e.g. Tiano Contributor's Agreement)
> >
> >
> >
> > 4) Process to add a new branch to edk2-platforms
> >
> >
> >
> >      a) Maintainer sends patch email to edk2-devel mailing list
> >
> >         announcing the creation of a new branch in edk2-platforms
> >
> >         with Readme.MD.  Readme.MD must be in root of branch with
> >
> >         summary, owners, status, build instructions, target update
> >
> >         instructions, OS compatibility, known issues/limitations,
> >
> >         links to related materials, and anything else a developer
> >
> >         needs to use platform(s) in that branch.
> >
> >
> >
> >     b) Readme.MD must provide the PACKAGES_PATH setting required to
> >
> >         build along with the branch names of other repos that platform
> >
> >         requires.  This allows a platform developer(s) to use packages
> >
> >         from edk2/master or to use packages from a validates UDK release
> 
> 'validates' -> 'validated'
> 
> >
> >         (e.g. edk2/UDK2015).
> >
> >
> >
> >      c) Maintainer creates branch with Readme.MD in edk2-platforms
> >
> >
> >
> >      d) An edk2-platforms branch for platforms under developer use the
> 
> 'under development'?
> 
> >         following branch naming convention:
> >
> >           edk2-platforms/devel-*
> >
> >
> >
> >      e) An edk2-platforms branch for stable platforms use the following
> >
> >         branch naming convention:
> >
> >
> >
> >           edk2-platforms/stable-*
> >
> >
> 
> Do we need a:
> ---
> X) Process to add platform to master?
>    a) Maintainer ensures any code conflicts are resolved and merged to
>       edk2-platforms/master.
> 
>    b) Maintainer sends email request to edk2-devel mailing list
>       announcing intent to integrate a devel-* branch into master.
> 
>    c) Platform is reviewed for maturity, and merged to master when
>       ready.
> 
> How would we do about Readme.MD on master?
> Should it be something added to a common Readme.MD for all platforms
> (sounds like it would expload), or should we simply make it move to
> the platform-specific directory?
> ---
> 
> > 5) Process to update sources in edk2-platforms branch
> >
> >
> >
> >      a) Commit message subject format:
> >
> >
> >
> >           [platforms/branch PATCH]: Package/Module: Subject
> 
> Apologies for the late bikeshedding, but could we do this:
> [PATCH][platforms/branch]
> instead?
> To reduce command line tedium with git format-patch.
> 
> >
> >
> >      b) Directly commit changes to branch or if community review is desired,
> >
> >         use edk2-devel review process.
> >
> >
> >
> > 7) Process to remove an edk2-platforms branch
> >
> >
> >
> >      a) Stewards may periodically review of branches in edk2-platforms
> >
> >         (once a quarter?)
> >
> >
> >
> >      b) If no activity on a branch for extended period of time and the branch
> >
> >         is not being maintained and is no longer functional then stewards
> >
> >         send email to edk2-devel to request deletion of edk2-platforms branch.
> >
> >
> >
> >      c) If no objections from EDK II community, then branch is deleted and
> >
> >         archived at
> >
> >
> >
> >           https://github.com/tianocore/edk2-archive.
> >
> >
> >
> > 8) How to evaluate a platform in edk2-platforms
> >
> >
> >
> >      a) Clone edk2-platforms/[branch name]
> >
> >
> >
> >      b) Following instructions in Readme.MD to build firmware and
> >
> >         update target platform
> 
> Question again about Readme.MD for master branch.
> 
> Regards,
> 
> Leif
> 
> >
> >
> > </proposal>
> >
> >
> >
> > Best regards,
> >
> >
> >
> > Mike
> >
> >
> >
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-10-14  7:14   ` Kinney, Michael D
@ 2016-10-14  7:25     ` Kinney, Michael D
  2016-10-14 12:59       ` Leif Lindholm
  0 siblings, 1 reply; 13+ messages in thread
From: Kinney, Michael D @ 2016-10-14  7:25 UTC (permalink / raw)
  To: Leif Lindholm, Andrew Fish (afish@apple.com), Kinney, Michael D
  Cc: edk2-devel@lists.01.org

Leif,

I could see edk2-platforms/master being the platform branch that
contains the set of platforms that are synced with edk2/master and
are required to be tested when changes are made to edk2/master.
Or at least guaranteed to be tested when a stable release of 
edk2/master is made.

Similar to what we expect for the platforms in edk2/master such
as OvmfPkg, EmulatorPkg, and Nt32Pkg.

Given that not everyone would have access to platform targets to 
run tests, the minimum requirement could be build tests.

Mike

> -----Original Message-----
> From: Kinney, Michael D
> Sent: Friday, October 14, 2016 12:15 AM
> To: Leif Lindholm <leif.lindholm@linaro.org>; Andrew Fish (afish@apple.com)
> <afish@apple.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: RE: [edk2] [RFC V2] EDK2 Platform Proposal
> 
> Leif and Andrew,
> 
> I have added the content of this proposal to a new Readme.md file in
> the edk2-platforms/about branch and removed the old README file.
> 
>   https://github.com/tianocore/edk2-platforms/tree/about
> 
> I have also added a template at the bottom of the process description
> for a Readme.md that describes multiple platforms with links to a
> Readme.md in each platform specific subdirectory.
> 
> I have also addressed the all the feedback from Leif except for
> adding platforms to edk2-platforms/master.  I think platforms
> should start in an edk2-platforms/devel-* branch and when they
> become stable move to an edk2-platforms/stable-* branch.  Stable
> branches may support multiple platform.
> 
> Using this model, there would not be an edk2-platforms/master
> branch.
> 
> Mike
> 
> 
> > -----Original Message-----
> > From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> > Sent: Wednesday, September 28, 2016 3:23 PM
> > To: Kinney, Michael D <michael.d.kinney@intel.com>
> > Cc: edk2-devel@lists.01.org
> > Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> >
> > Hi Mike,
> >
> > On Thu, Sep 22, 2016 at 08:54:50PM +0000, Kinney, Michael D wrote:
> > > Hello,
> > >
> > >
> > >
> > > Here is the V2 version of the proposal for the edk2-platforms repo.
> >
> > I'm happy with the proposal in this state, but have a few suggested
> > updates (mostly to clarify that, long term, we expect most platforms
> > to exist in master) and a small suggested addition.
> >
> > > Changes from V1:
> > >
> > > ================
> > >
> > > * edk2-platform is not a fork of edk2.
> > >
> > > * edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
> > >
> > >   packages
> > >
> > > * edk2-plaforms/master contains all open platforms that are synced with
> > >
> > >   edk2/master.
> > >
> > > * Each edk2-platforms branch may support many platforms (not just one)
> > >
> > > * Use PACKAGES_PATH to do builds using packages from multiple repositories
> > >
> > > * Update edk2-platforms branch naming to clearly identify platforms that
> > >
> > >   are considered stable and platforms that are under active development.
> > >
> > > * edk2 developers may be required to verify platforms in edk2-platforms
> > >
> > >   builds as part of test criteria.  Especially platforms that are intended
> > >
> > >   to be used with edk2/master in edk2-platforms/stable-* branches.
> > >
> > >
> > >
> > > =================
> > >
> > >
> > >
> > > Similar to edk2-staging, we also have a need to manage platforms
> > >
> > > that have been ported to edk2.  Jordan has created a repository
> > >
> > > called edk2-platforms and has created a branch for the
> > >
> > > minnowboard-max that uses a validated release of the UDK 2015 for
> > >
> > > the dependent packages:
> > >
> > >
> > >
> > > https://github.com/tianocore/edk2-platforms
> > >
> > >
> > >
> > > https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015
> > >
> > >
> > >
> > > Instead of creating a branch per feature in edk2-staging, the
> > >
> > > proposal is to create a branch per platform or set of platforms
> > >
> > > in edk2-platforms.  The maintainer(s) that create and support a
> > >
> > > platform branch can decide if the platform uses edk2/master for
> > >
> > > dependent packages, or uses a stable release of the edk2 for dependent
> > >
> > > packages.
> > >
> > >
> > >
> > > This proposal provides an area for platform development so we can
> > >
> > > minimize the number of platforms that are included in edk2/master.
> > >
> > > It is important to keep some platforms in edk2/master so we can use
> > >
> > > those platforms to validate features in non-platform packages in
> > >
> > > edk2/master.  If a new platform does not add feature coverage to
> > >
> > > edk2/master, then an edk2-platforms branch would be recommended.
> >
> > Suggest: ", then edk2-platforms would be recommended.".
> >
> > >
> > >
> > > Please review the proposal below for edk2-platforms.
> > >
> > >
> > >
> > > If this proposal is accepted, then a review of the platforms in
> > >
> > > edk2/master can be done to see if any of them should be moved to
> > >
> > > branches in edk2-platforms.
> >
> > Suggest: "should be moved to edk2-platforms.".
> > >
> > >
> > >
> > > <proposal>
> > >
> > >
> > >
> > > Problem statement
> > >
> > > =================
> > >
> > > Need place on tianocore.org where platforms can be maintained by the
> > >
> > > EDK II community.  This serves several purposes:
> > >
> > >
> > >
> > > * Encourage more platforms sources to be shared earlier in the
> > >
> > >   development process
> > >
> > > * Allow platform sources to be shared that may not yet meet all edk2
> > >
> > >   required quality criteria
> > >
> > > * Allow platform source to be shared so the EDK II community may
> > >
> > >   choose to help finish and validate
> > >
> > > * Allow more platforms to be used as part of the edk2 validation and
> > >
> > >   release cycle.
> > >
> > > * Not intended to be used for bug fixes.
> >
> > Does this final point still apply, now we're going to be using
> > PACKAGES_PATH rather than keep rebasing on top of edk2/master?
> >
> > >
> > >
> > >
> > > Proposal
> > >
> > > ========
> > >
> > > 1) Create a new repo called edk2-platforms
> > >
> > >     a) The default branch edk2-platforms/master contains all open
> > >
> > >        platforms that are actively validated against the packages
> > >
> > >        in edk2/master.
> > >
> > >     b) The intent is for packages in edk2-platforms to be CPU, Chipset,
> > >
> > >        SoC, or platform specific.  Drivers that are CPU arch and platform
> > >
> > >        agnostic should be put into the edk2 repo.
> > >
> > >
> > >
> > > 2) edk2-platforms discussions use the edk2-devel mailing list
> > >
> > >    for design/patch/test using the following style for discussion
> > >
> > >    of a platform branch in edk2-platforms repo.
> > >
> > >
> > >
> > >      [platforms/branch]: Subject
> > >
> > >
> > >
> > > 3) All commits to edk2-platforms must follow same rules use for
> > >
> > >    commits to edk2 (e.g. Tiano Contributor's Agreement)
> > >
> > >
> > >
> > > 4) Process to add a new branch to edk2-platforms
> > >
> > >
> > >
> > >      a) Maintainer sends patch email to edk2-devel mailing list
> > >
> > >         announcing the creation of a new branch in edk2-platforms
> > >
> > >         with Readme.MD.  Readme.MD must be in root of branch with
> > >
> > >         summary, owners, status, build instructions, target update
> > >
> > >         instructions, OS compatibility, known issues/limitations,
> > >
> > >         links to related materials, and anything else a developer
> > >
> > >         needs to use platform(s) in that branch.
> > >
> > >
> > >
> > >     b) Readme.MD must provide the PACKAGES_PATH setting required to
> > >
> > >         build along with the branch names of other repos that platform
> > >
> > >         requires.  This allows a platform developer(s) to use packages
> > >
> > >         from edk2/master or to use packages from a validates UDK release
> >
> > 'validates' -> 'validated'
> >
> > >
> > >         (e.g. edk2/UDK2015).
> > >
> > >
> > >
> > >      c) Maintainer creates branch with Readme.MD in edk2-platforms
> > >
> > >
> > >
> > >      d) An edk2-platforms branch for platforms under developer use the
> >
> > 'under development'?
> >
> > >         following branch naming convention:
> > >
> > >           edk2-platforms/devel-*
> > >
> > >
> > >
> > >      e) An edk2-platforms branch for stable platforms use the following
> > >
> > >         branch naming convention:
> > >
> > >
> > >
> > >           edk2-platforms/stable-*
> > >
> > >
> >
> > Do we need a:
> > ---
> > X) Process to add platform to master?
> >    a) Maintainer ensures any code conflicts are resolved and merged to
> >       edk2-platforms/master.
> >
> >    b) Maintainer sends email request to edk2-devel mailing list
> >       announcing intent to integrate a devel-* branch into master.
> >
> >    c) Platform is reviewed for maturity, and merged to master when
> >       ready.
> >
> > How would we do about Readme.MD on master?
> > Should it be something added to a common Readme.MD for all platforms
> > (sounds like it would expload), or should we simply make it move to
> > the platform-specific directory?
> > ---
> >
> > > 5) Process to update sources in edk2-platforms branch
> > >
> > >
> > >
> > >      a) Commit message subject format:
> > >
> > >
> > >
> > >           [platforms/branch PATCH]: Package/Module: Subject
> >
> > Apologies for the late bikeshedding, but could we do this:
> > [PATCH][platforms/branch]
> > instead?
> > To reduce command line tedium with git format-patch.
> >
> > >
> > >
> > >      b) Directly commit changes to branch or if community review is desired,
> > >
> > >         use edk2-devel review process.
> > >
> > >
> > >
> > > 7) Process to remove an edk2-platforms branch
> > >
> > >
> > >
> > >      a) Stewards may periodically review of branches in edk2-platforms
> > >
> > >         (once a quarter?)
> > >
> > >
> > >
> > >      b) If no activity on a branch for extended period of time and the branch
> > >
> > >         is not being maintained and is no longer functional then stewards
> > >
> > >         send email to edk2-devel to request deletion of edk2-platforms branch.
> > >
> > >
> > >
> > >      c) If no objections from EDK II community, then branch is deleted and
> > >
> > >         archived at
> > >
> > >
> > >
> > >           https://github.com/tianocore/edk2-archive.
> > >
> > >
> > >
> > > 8) How to evaluate a platform in edk2-platforms
> > >
> > >
> > >
> > >      a) Clone edk2-platforms/[branch name]
> > >
> > >
> > >
> > >      b) Following instructions in Readme.MD to build firmware and
> > >
> > >         update target platform
> >
> > Question again about Readme.MD for master branch.
> >
> > Regards,
> >
> > Leif
> >
> > >
> > >
> > > </proposal>
> > >
> > >
> > >
> > > Best regards,
> > >
> > >
> > >
> > > Mike
> > >
> > >
> > >
> > > _______________________________________________
> > > edk2-devel mailing list
> > > edk2-devel@lists.01.org
> > > https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-10-14  7:25     ` Kinney, Michael D
@ 2016-10-14 12:59       ` Leif Lindholm
  2016-10-14 15:48         ` Kinney, Michael D
  0 siblings, 1 reply; 13+ messages in thread
From: Leif Lindholm @ 2016-10-14 12:59 UTC (permalink / raw)
  To: Kinney, Michael D; +Cc: Andrew Fish (afish@apple.com), edk2-devel@lists.01.org

So, I don't actually disagree with what you're saying, but I think we
already know that we are looking for different things out of this
repository :)

This is not a problem, but I do want us to be able to agree on a
wording that works for both of our use-cases.

I currently have no interest in the stable-* branches, but I
completely understand why you need them.

I want _lots_ of platforms in master, but I want all of the platforms
in master to be ones that have an active maintainer - and as such will
be fixed up as required when core changes happen. To me, master should
be drinking from the fire hose. But any platforms in master that are
not being kept functional should be moved out and archived.

If we cannot agree on the meaning of master, then I would request
another specific branch to fill the function I describe above.

Regards,

Leif

On Fri, Oct 14, 2016 at 07:25:19AM +0000, Kinney, Michael D wrote:
> Leif,
> 
> I could see edk2-platforms/master being the platform branch that
> contains the set of platforms that are synced with edk2/master and
> are required to be tested when changes are made to edk2/master.
> Or at least guaranteed to be tested when a stable release of 
> edk2/master is made.
> 
> Similar to what we expect for the platforms in edk2/master such
> as OvmfPkg, EmulatorPkg, and Nt32Pkg.
> 
> Given that not everyone would have access to platform targets to 
> run tests, the minimum requirement could be build tests.
> 
> Mike
> 
> > -----Original Message-----
> > From: Kinney, Michael D
> > Sent: Friday, October 14, 2016 12:15 AM
> > To: Leif Lindholm <leif.lindholm@linaro.org>; Andrew Fish (afish@apple.com)
> > <afish@apple.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> > Cc: edk2-devel@lists.01.org
> > Subject: RE: [edk2] [RFC V2] EDK2 Platform Proposal
> > 
> > Leif and Andrew,
> > 
> > I have added the content of this proposal to a new Readme.md file in
> > the edk2-platforms/about branch and removed the old README file.
> > 
> >   https://github.com/tianocore/edk2-platforms/tree/about
> > 
> > I have also added a template at the bottom of the process description
> > for a Readme.md that describes multiple platforms with links to a
> > Readme.md in each platform specific subdirectory.
> > 
> > I have also addressed the all the feedback from Leif except for
> > adding platforms to edk2-platforms/master.  I think platforms
> > should start in an edk2-platforms/devel-* branch and when they
> > become stable move to an edk2-platforms/stable-* branch.  Stable
> > branches may support multiple platform.
> > 
> > Using this model, there would not be an edk2-platforms/master
> > branch.
> > 
> > Mike
> > 
> > 
> > > -----Original Message-----
> > > From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> > > Sent: Wednesday, September 28, 2016 3:23 PM
> > > To: Kinney, Michael D <michael.d.kinney@intel.com>
> > > Cc: edk2-devel@lists.01.org
> > > Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> > >
> > > Hi Mike,
> > >
> > > On Thu, Sep 22, 2016 at 08:54:50PM +0000, Kinney, Michael D wrote:
> > > > Hello,
> > > >
> > > >
> > > >
> > > > Here is the V2 version of the proposal for the edk2-platforms repo.
> > >
> > > I'm happy with the proposal in this state, but have a few suggested
> > > updates (mostly to clarify that, long term, we expect most platforms
> > > to exist in master) and a small suggested addition.
> > >
> > > > Changes from V1:
> > > >
> > > > ================
> > > >
> > > > * edk2-platform is not a fork of edk2.
> > > >
> > > > * edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
> > > >
> > > >   packages
> > > >
> > > > * edk2-plaforms/master contains all open platforms that are synced with
> > > >
> > > >   edk2/master.
> > > >
> > > > * Each edk2-platforms branch may support many platforms (not just one)
> > > >
> > > > * Use PACKAGES_PATH to do builds using packages from multiple repositories
> > > >
> > > > * Update edk2-platforms branch naming to clearly identify platforms that
> > > >
> > > >   are considered stable and platforms that are under active development.
> > > >
> > > > * edk2 developers may be required to verify platforms in edk2-platforms
> > > >
> > > >   builds as part of test criteria.  Especially platforms that are intended
> > > >
> > > >   to be used with edk2/master in edk2-platforms/stable-* branches.
> > > >
> > > >
> > > >
> > > > =================
> > > >
> > > >
> > > >
> > > > Similar to edk2-staging, we also have a need to manage platforms
> > > >
> > > > that have been ported to edk2.  Jordan has created a repository
> > > >
> > > > called edk2-platforms and has created a branch for the
> > > >
> > > > minnowboard-max that uses a validated release of the UDK 2015 for
> > > >
> > > > the dependent packages:
> > > >
> > > >
> > > >
> > > > https://github.com/tianocore/edk2-platforms
> > > >
> > > >
> > > >
> > > > https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015
> > > >
> > > >
> > > >
> > > > Instead of creating a branch per feature in edk2-staging, the
> > > >
> > > > proposal is to create a branch per platform or set of platforms
> > > >
> > > > in edk2-platforms.  The maintainer(s) that create and support a
> > > >
> > > > platform branch can decide if the platform uses edk2/master for
> > > >
> > > > dependent packages, or uses a stable release of the edk2 for dependent
> > > >
> > > > packages.
> > > >
> > > >
> > > >
> > > > This proposal provides an area for platform development so we can
> > > >
> > > > minimize the number of platforms that are included in edk2/master.
> > > >
> > > > It is important to keep some platforms in edk2/master so we can use
> > > >
> > > > those platforms to validate features in non-platform packages in
> > > >
> > > > edk2/master.  If a new platform does not add feature coverage to
> > > >
> > > > edk2/master, then an edk2-platforms branch would be recommended.
> > >
> > > Suggest: ", then edk2-platforms would be recommended.".
> > >
> > > >
> > > >
> > > > Please review the proposal below for edk2-platforms.
> > > >
> > > >
> > > >
> > > > If this proposal is accepted, then a review of the platforms in
> > > >
> > > > edk2/master can be done to see if any of them should be moved to
> > > >
> > > > branches in edk2-platforms.
> > >
> > > Suggest: "should be moved to edk2-platforms.".
> > > >
> > > >
> > > >
> > > > <proposal>
> > > >
> > > >
> > > >
> > > > Problem statement
> > > >
> > > > =================
> > > >
> > > > Need place on tianocore.org where platforms can be maintained by the
> > > >
> > > > EDK II community.  This serves several purposes:
> > > >
> > > >
> > > >
> > > > * Encourage more platforms sources to be shared earlier in the
> > > >
> > > >   development process
> > > >
> > > > * Allow platform sources to be shared that may not yet meet all edk2
> > > >
> > > >   required quality criteria
> > > >
> > > > * Allow platform source to be shared so the EDK II community may
> > > >
> > > >   choose to help finish and validate
> > > >
> > > > * Allow more platforms to be used as part of the edk2 validation and
> > > >
> > > >   release cycle.
> > > >
> > > > * Not intended to be used for bug fixes.
> > >
> > > Does this final point still apply, now we're going to be using
> > > PACKAGES_PATH rather than keep rebasing on top of edk2/master?
> > >
> > > >
> > > >
> > > >
> > > > Proposal
> > > >
> > > > ========
> > > >
> > > > 1) Create a new repo called edk2-platforms
> > > >
> > > >     a) The default branch edk2-platforms/master contains all open
> > > >
> > > >        platforms that are actively validated against the packages
> > > >
> > > >        in edk2/master.
> > > >
> > > >     b) The intent is for packages in edk2-platforms to be CPU, Chipset,
> > > >
> > > >        SoC, or platform specific.  Drivers that are CPU arch and platform
> > > >
> > > >        agnostic should be put into the edk2 repo.
> > > >
> > > >
> > > >
> > > > 2) edk2-platforms discussions use the edk2-devel mailing list
> > > >
> > > >    for design/patch/test using the following style for discussion
> > > >
> > > >    of a platform branch in edk2-platforms repo.
> > > >
> > > >
> > > >
> > > >      [platforms/branch]: Subject
> > > >
> > > >
> > > >
> > > > 3) All commits to edk2-platforms must follow same rules use for
> > > >
> > > >    commits to edk2 (e.g. Tiano Contributor's Agreement)
> > > >
> > > >
> > > >
> > > > 4) Process to add a new branch to edk2-platforms
> > > >
> > > >
> > > >
> > > >      a) Maintainer sends patch email to edk2-devel mailing list
> > > >
> > > >         announcing the creation of a new branch in edk2-platforms
> > > >
> > > >         with Readme.MD.  Readme.MD must be in root of branch with
> > > >
> > > >         summary, owners, status, build instructions, target update
> > > >
> > > >         instructions, OS compatibility, known issues/limitations,
> > > >
> > > >         links to related materials, and anything else a developer
> > > >
> > > >         needs to use platform(s) in that branch.
> > > >
> > > >
> > > >
> > > >     b) Readme.MD must provide the PACKAGES_PATH setting required to
> > > >
> > > >         build along with the branch names of other repos that platform
> > > >
> > > >         requires.  This allows a platform developer(s) to use packages
> > > >
> > > >         from edk2/master or to use packages from a validates UDK release
> > >
> > > 'validates' -> 'validated'
> > >
> > > >
> > > >         (e.g. edk2/UDK2015).
> > > >
> > > >
> > > >
> > > >      c) Maintainer creates branch with Readme.MD in edk2-platforms
> > > >
> > > >
> > > >
> > > >      d) An edk2-platforms branch for platforms under developer use the
> > >
> > > 'under development'?
> > >
> > > >         following branch naming convention:
> > > >
> > > >           edk2-platforms/devel-*
> > > >
> > > >
> > > >
> > > >      e) An edk2-platforms branch for stable platforms use the following
> > > >
> > > >         branch naming convention:
> > > >
> > > >
> > > >
> > > >           edk2-platforms/stable-*
> > > >
> > > >
> > >
> > > Do we need a:
> > > ---
> > > X) Process to add platform to master?
> > >    a) Maintainer ensures any code conflicts are resolved and merged to
> > >       edk2-platforms/master.
> > >
> > >    b) Maintainer sends email request to edk2-devel mailing list
> > >       announcing intent to integrate a devel-* branch into master.
> > >
> > >    c) Platform is reviewed for maturity, and merged to master when
> > >       ready.
> > >
> > > How would we do about Readme.MD on master?
> > > Should it be something added to a common Readme.MD for all platforms
> > > (sounds like it would expload), or should we simply make it move to
> > > the platform-specific directory?
> > > ---
> > >
> > > > 5) Process to update sources in edk2-platforms branch
> > > >
> > > >
> > > >
> > > >      a) Commit message subject format:
> > > >
> > > >
> > > >
> > > >           [platforms/branch PATCH]: Package/Module: Subject
> > >
> > > Apologies for the late bikeshedding, but could we do this:
> > > [PATCH][platforms/branch]
> > > instead?
> > > To reduce command line tedium with git format-patch.
> > >
> > > >
> > > >
> > > >      b) Directly commit changes to branch or if community review is desired,
> > > >
> > > >         use edk2-devel review process.
> > > >
> > > >
> > > >
> > > > 7) Process to remove an edk2-platforms branch
> > > >
> > > >
> > > >
> > > >      a) Stewards may periodically review of branches in edk2-platforms
> > > >
> > > >         (once a quarter?)
> > > >
> > > >
> > > >
> > > >      b) If no activity on a branch for extended period of time and the branch
> > > >
> > > >         is not being maintained and is no longer functional then stewards
> > > >
> > > >         send email to edk2-devel to request deletion of edk2-platforms branch.
> > > >
> > > >
> > > >
> > > >      c) If no objections from EDK II community, then branch is deleted and
> > > >
> > > >         archived at
> > > >
> > > >
> > > >
> > > >           https://github.com/tianocore/edk2-archive.
> > > >
> > > >
> > > >
> > > > 8) How to evaluate a platform in edk2-platforms
> > > >
> > > >
> > > >
> > > >      a) Clone edk2-platforms/[branch name]
> > > >
> > > >
> > > >
> > > >      b) Following instructions in Readme.MD to build firmware and
> > > >
> > > >         update target platform
> > >
> > > Question again about Readme.MD for master branch.
> > >
> > > Regards,
> > >
> > > Leif
> > >
> > > >
> > > >
> > > > </proposal>
> > > >
> > > >
> > > >
> > > > Best regards,
> > > >
> > > >
> > > >
> > > > Mike
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > edk2-devel mailing list
> > > > edk2-devel@lists.01.org
> > > > https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC V2] EDK2 Platform Proposal
  2016-10-14 12:59       ` Leif Lindholm
@ 2016-10-14 15:48         ` Kinney, Michael D
  0 siblings, 0 replies; 13+ messages in thread
From: Kinney, Michael D @ 2016-10-14 15:48 UTC (permalink / raw)
  To: Leif Lindholm, Kinney, Michael D
  Cc: Andrew Fish (afish@apple.com), edk2-devel@lists.01.org

Leif,

That makes sense to me.  I will update the Readme.md to cover
The edk2-platforms/master branch.

If a platform does not want to be maintained on master any 
longer, it could be moved to a stable-* branch against the most 
recent UDK20xx branch of edk2.

Once a platform is no longer used or maintained at all, then 
archiving sounds appropriate.

Mike

> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Friday, October 14, 2016 5:59 AM
> To: Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: Andrew Fish (afish@apple.com) <afish@apple.com>; edk2-devel@lists.01.org
> Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> 
> So, I don't actually disagree with what you're saying, but I think we
> already know that we are looking for different things out of this
> repository :)
> 
> This is not a problem, but I do want us to be able to agree on a
> wording that works for both of our use-cases.
> 
> I currently have no interest in the stable-* branches, but I
> completely understand why you need them.
> 
> I want _lots_ of platforms in master, but I want all of the platforms
> in master to be ones that have an active maintainer - and as such will
> be fixed up as required when core changes happen. To me, master should
> be drinking from the fire hose. But any platforms in master that are
> not being kept functional should be moved out and archived.
> 
> If we cannot agree on the meaning of master, then I would request
> another specific branch to fill the function I describe above.
> 
> Regards,
> 
> Leif
> 
> On Fri, Oct 14, 2016 at 07:25:19AM +0000, Kinney, Michael D wrote:
> > Leif,
> >
> > I could see edk2-platforms/master being the platform branch that
> > contains the set of platforms that are synced with edk2/master and
> > are required to be tested when changes are made to edk2/master.
> > Or at least guaranteed to be tested when a stable release of
> > edk2/master is made.
> >
> > Similar to what we expect for the platforms in edk2/master such
> > as OvmfPkg, EmulatorPkg, and Nt32Pkg.
> >
> > Given that not everyone would have access to platform targets to
> > run tests, the minimum requirement could be build tests.
> >
> > Mike
> >
> > > -----Original Message-----
> > > From: Kinney, Michael D
> > > Sent: Friday, October 14, 2016 12:15 AM
> > > To: Leif Lindholm <leif.lindholm@linaro.org>; Andrew Fish (afish@apple.com)
> > > <afish@apple.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> > > Cc: edk2-devel@lists.01.org
> > > Subject: RE: [edk2] [RFC V2] EDK2 Platform Proposal
> > >
> > > Leif and Andrew,
> > >
> > > I have added the content of this proposal to a new Readme.md file in
> > > the edk2-platforms/about branch and removed the old README file.
> > >
> > >   https://github.com/tianocore/edk2-platforms/tree/about
> > >
> > > I have also added a template at the bottom of the process description
> > > for a Readme.md that describes multiple platforms with links to a
> > > Readme.md in each platform specific subdirectory.
> > >
> > > I have also addressed the all the feedback from Leif except for
> > > adding platforms to edk2-platforms/master.  I think platforms
> > > should start in an edk2-platforms/devel-* branch and when they
> > > become stable move to an edk2-platforms/stable-* branch.  Stable
> > > branches may support multiple platform.
> > >
> > > Using this model, there would not be an edk2-platforms/master
> > > branch.
> > >
> > > Mike
> > >
> > >
> > > > -----Original Message-----
> > > > From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> > > > Sent: Wednesday, September 28, 2016 3:23 PM
> > > > To: Kinney, Michael D <michael.d.kinney@intel.com>
> > > > Cc: edk2-devel@lists.01.org
> > > > Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> > > >
> > > > Hi Mike,
> > > >
> > > > On Thu, Sep 22, 2016 at 08:54:50PM +0000, Kinney, Michael D wrote:
> > > > > Hello,
> > > > >
> > > > >
> > > > >
> > > > > Here is the V2 version of the proposal for the edk2-platforms repo.
> > > >
> > > > I'm happy with the proposal in this state, but have a few suggested
> > > > updates (mostly to clarify that, long term, we expect most platforms
> > > > to exist in master) and a small suggested addition.
> > > >
> > > > > Changes from V1:
> > > > >
> > > > > ================
> > > > >
> > > > > * edk2-platform is not a fork of edk2.
> > > > >
> > > > > * edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
> > > > >
> > > > >   packages
> > > > >
> > > > > * edk2-plaforms/master contains all open platforms that are synced with
> > > > >
> > > > >   edk2/master.
> > > > >
> > > > > * Each edk2-platforms branch may support many platforms (not just one)
> > > > >
> > > > > * Use PACKAGES_PATH to do builds using packages from multiple repositories
> > > > >
> > > > > * Update edk2-platforms branch naming to clearly identify platforms that
> > > > >
> > > > >   are considered stable and platforms that are under active development.
> > > > >
> > > > > * edk2 developers may be required to verify platforms in edk2-platforms
> > > > >
> > > > >   builds as part of test criteria.  Especially platforms that are intended
> > > > >
> > > > >   to be used with edk2/master in edk2-platforms/stable-* branches.
> > > > >
> > > > >
> > > > >
> > > > > =================
> > > > >
> > > > >
> > > > >
> > > > > Similar to edk2-staging, we also have a need to manage platforms
> > > > >
> > > > > that have been ported to edk2.  Jordan has created a repository
> > > > >
> > > > > called edk2-platforms and has created a branch for the
> > > > >
> > > > > minnowboard-max that uses a validated release of the UDK 2015 for
> > > > >
> > > > > the dependent packages:
> > > > >
> > > > >
> > > > >
> > > > > https://github.com/tianocore/edk2-platforms
> > > > >
> > > > >
> > > > >
> > > > > https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015
> > > > >
> > > > >
> > > > >
> > > > > Instead of creating a branch per feature in edk2-staging, the
> > > > >
> > > > > proposal is to create a branch per platform or set of platforms
> > > > >
> > > > > in edk2-platforms.  The maintainer(s) that create and support a
> > > > >
> > > > > platform branch can decide if the platform uses edk2/master for
> > > > >
> > > > > dependent packages, or uses a stable release of the edk2 for dependent
> > > > >
> > > > > packages.
> > > > >
> > > > >
> > > > >
> > > > > This proposal provides an area for platform development so we can
> > > > >
> > > > > minimize the number of platforms that are included in edk2/master.
> > > > >
> > > > > It is important to keep some platforms in edk2/master so we can use
> > > > >
> > > > > those platforms to validate features in non-platform packages in
> > > > >
> > > > > edk2/master.  If a new platform does not add feature coverage to
> > > > >
> > > > > edk2/master, then an edk2-platforms branch would be recommended.
> > > >
> > > > Suggest: ", then edk2-platforms would be recommended.".
> > > >
> > > > >
> > > > >
> > > > > Please review the proposal below for edk2-platforms.
> > > > >
> > > > >
> > > > >
> > > > > If this proposal is accepted, then a review of the platforms in
> > > > >
> > > > > edk2/master can be done to see if any of them should be moved to
> > > > >
> > > > > branches in edk2-platforms.
> > > >
> > > > Suggest: "should be moved to edk2-platforms.".
> > > > >
> > > > >
> > > > >
> > > > > <proposal>
> > > > >
> > > > >
> > > > >
> > > > > Problem statement
> > > > >
> > > > > =================
> > > > >
> > > > > Need place on tianocore.org where platforms can be maintained by the
> > > > >
> > > > > EDK II community.  This serves several purposes:
> > > > >
> > > > >
> > > > >
> > > > > * Encourage more platforms sources to be shared earlier in the
> > > > >
> > > > >   development process
> > > > >
> > > > > * Allow platform sources to be shared that may not yet meet all edk2
> > > > >
> > > > >   required quality criteria
> > > > >
> > > > > * Allow platform source to be shared so the EDK II community may
> > > > >
> > > > >   choose to help finish and validate
> > > > >
> > > > > * Allow more platforms to be used as part of the edk2 validation and
> > > > >
> > > > >   release cycle.
> > > > >
> > > > > * Not intended to be used for bug fixes.
> > > >
> > > > Does this final point still apply, now we're going to be using
> > > > PACKAGES_PATH rather than keep rebasing on top of edk2/master?
> > > >
> > > > >
> > > > >
> > > > >
> > > > > Proposal
> > > > >
> > > > > ========
> > > > >
> > > > > 1) Create a new repo called edk2-platforms
> > > > >
> > > > >     a) The default branch edk2-platforms/master contains all open
> > > > >
> > > > >        platforms that are actively validated against the packages
> > > > >
> > > > >        in edk2/master.
> > > > >
> > > > >     b) The intent is for packages in edk2-platforms to be CPU, Chipset,
> > > > >
> > > > >        SoC, or platform specific.  Drivers that are CPU arch and platform
> > > > >
> > > > >        agnostic should be put into the edk2 repo.
> > > > >
> > > > >
> > > > >
> > > > > 2) edk2-platforms discussions use the edk2-devel mailing list
> > > > >
> > > > >    for design/patch/test using the following style for discussion
> > > > >
> > > > >    of a platform branch in edk2-platforms repo.
> > > > >
> > > > >
> > > > >
> > > > >      [platforms/branch]: Subject
> > > > >
> > > > >
> > > > >
> > > > > 3) All commits to edk2-platforms must follow same rules use for
> > > > >
> > > > >    commits to edk2 (e.g. Tiano Contributor's Agreement)
> > > > >
> > > > >
> > > > >
> > > > > 4) Process to add a new branch to edk2-platforms
> > > > >
> > > > >
> > > > >
> > > > >      a) Maintainer sends patch email to edk2-devel mailing list
> > > > >
> > > > >         announcing the creation of a new branch in edk2-platforms
> > > > >
> > > > >         with Readme.MD.  Readme.MD must be in root of branch with
> > > > >
> > > > >         summary, owners, status, build instructions, target update
> > > > >
> > > > >         instructions, OS compatibility, known issues/limitations,
> > > > >
> > > > >         links to related materials, and anything else a developer
> > > > >
> > > > >         needs to use platform(s) in that branch.
> > > > >
> > > > >
> > > > >
> > > > >     b) Readme.MD must provide the PACKAGES_PATH setting required to
> > > > >
> > > > >         build along with the branch names of other repos that platform
> > > > >
> > > > >         requires.  This allows a platform developer(s) to use packages
> > > > >
> > > > >         from edk2/master or to use packages from a validates UDK release
> > > >
> > > > 'validates' -> 'validated'
> > > >
> > > > >
> > > > >         (e.g. edk2/UDK2015).
> > > > >
> > > > >
> > > > >
> > > > >      c) Maintainer creates branch with Readme.MD in edk2-platforms
> > > > >
> > > > >
> > > > >
> > > > >      d) An edk2-platforms branch for platforms under developer use the
> > > >
> > > > 'under development'?
> > > >
> > > > >         following branch naming convention:
> > > > >
> > > > >           edk2-platforms/devel-*
> > > > >
> > > > >
> > > > >
> > > > >      e) An edk2-platforms branch for stable platforms use the following
> > > > >
> > > > >         branch naming convention:
> > > > >
> > > > >
> > > > >
> > > > >           edk2-platforms/stable-*
> > > > >
> > > > >
> > > >
> > > > Do we need a:
> > > > ---
> > > > X) Process to add platform to master?
> > > >    a) Maintainer ensures any code conflicts are resolved and merged to
> > > >       edk2-platforms/master.
> > > >
> > > >    b) Maintainer sends email request to edk2-devel mailing list
> > > >       announcing intent to integrate a devel-* branch into master.
> > > >
> > > >    c) Platform is reviewed for maturity, and merged to master when
> > > >       ready.
> > > >
> > > > How would we do about Readme.MD on master?
> > > > Should it be something added to a common Readme.MD for all platforms
> > > > (sounds like it would expload), or should we simply make it move to
> > > > the platform-specific directory?
> > > > ---
> > > >
> > > > > 5) Process to update sources in edk2-platforms branch
> > > > >
> > > > >
> > > > >
> > > > >      a) Commit message subject format:
> > > > >
> > > > >
> > > > >
> > > > >           [platforms/branch PATCH]: Package/Module: Subject
> > > >
> > > > Apologies for the late bikeshedding, but could we do this:
> > > > [PATCH][platforms/branch]
> > > > instead?
> > > > To reduce command line tedium with git format-patch.
> > > >
> > > > >
> > > > >
> > > > >      b) Directly commit changes to branch or if community review is desired,
> > > > >
> > > > >         use edk2-devel review process.
> > > > >
> > > > >
> > > > >
> > > > > 7) Process to remove an edk2-platforms branch
> > > > >
> > > > >
> > > > >
> > > > >      a) Stewards may periodically review of branches in edk2-platforms
> > > > >
> > > > >         (once a quarter?)
> > > > >
> > > > >
> > > > >
> > > > >      b) If no activity on a branch for extended period of time and the branch
> > > > >
> > > > >         is not being maintained and is no longer functional then stewards
> > > > >
> > > > >         send email to edk2-devel to request deletion of edk2-platforms branch.
> > > > >
> > > > >
> > > > >
> > > > >      c) If no objections from EDK II community, then branch is deleted and
> > > > >
> > > > >         archived at
> > > > >
> > > > >
> > > > >
> > > > >           https://github.com/tianocore/edk2-archive.
> > > > >
> > > > >
> > > > >
> > > > > 8) How to evaluate a platform in edk2-platforms
> > > > >
> > > > >
> > > > >
> > > > >      a) Clone edk2-platforms/[branch name]
> > > > >
> > > > >
> > > > >
> > > > >      b) Following instructions in Readme.MD to build firmware and
> > > > >
> > > > >         update target platform
> > > >
> > > > Question again about Readme.MD for master branch.
> > > >
> > > > Regards,
> > > >
> > > > Leif
> > > >
> > > > >
> > > > >
> > > > > </proposal>
> > > > >
> > > > >
> > > > >
> > > > > Best regards,
> > > > >
> > > > >
> > > > >
> > > > > Mike
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > edk2-devel mailing list
> > > > > edk2-devel@lists.01.org
> > > > > https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-10-14 15:49 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-22 20:54 [RFC V2] EDK2 Platform Proposal Kinney, Michael D
2016-09-28 22:22 ` Leif Lindholm
2016-09-28 22:27   ` Andrew Fish
2016-09-29 22:21     ` Kinney, Michael D
2016-09-29 22:15   ` Kinney, Michael D
2016-10-14  7:14   ` Kinney, Michael D
2016-10-14  7:25     ` Kinney, Michael D
2016-10-14 12:59       ` Leif Lindholm
2016-10-14 15:48         ` Kinney, Michael D
2016-10-05  6:11 ` Bhupesh Sharma
2016-10-05 13:23   ` Richardson, Brian
2016-10-05 14:16   ` Sakar Arora
2016-10-10 19:22     ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox