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



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

Reply via email to