From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 63C9E1A1E9E for ; Fri, 14 Oct 2016 00:25:21 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP; 14 Oct 2016 00:25:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,491,1473145200"; d="scan'208";a="772504352" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by FMSMGA003.fm.intel.com with ESMTP; 14 Oct 2016 00:25:21 -0700 Received: from orsmsx157.amr.corp.intel.com (10.22.240.23) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.248.2; Fri, 14 Oct 2016 00:25:20 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.161]) by ORSMSX157.amr.corp.intel.com ([10.22.240.23]) with mapi id 14.03.0248.002; Fri, 14 Oct 2016 00:25:19 -0700 From: "Kinney, Michael D" To: Leif Lindholm , "Andrew Fish (afish@apple.com)" , "Kinney, Michael D" CC: "edk2-devel@lists.01.org" Thread-Topic: [edk2] [RFC V2] EDK2 Platform Proposal Thread-Index: AdIU6nQzG60V/uVFSPei1E0IX4fvwQFJxZyAAvXh6fAAAJKfoA== Date: Fri, 14 Oct 2016 07:25:19 +0000 Message-ID: References: <20160928222259.GW16080@bivouac.eciton.net> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYjE0MGE1ZWMtYTg2MC00ZTY3LWE4NDYtYjMxZjE1MmRkYjFkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6InRWZHNcL2RhZDVHMjRcLzlmVk9cL0M5cUowT2pDYjlFYlphUVRIZVJMXC9vK2JvPSJ9 x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Subject: Re: [RFC V2] EDK2 Platform Proposal X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Oct 2016 07:25:21 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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=20 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=20 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 ; Andrew Fish (afish@apple.co= m) > ; Kinney, Michael D > Cc: edk2-devel@lists.01.org > Subject: RE: [edk2] [RFC V2] EDK2 Platform Proposal >=20 > Leif and Andrew, >=20 > 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. >=20 > https://github.com/tianocore/edk2-platforms/tree/about >=20 > 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. >=20 > 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. >=20 > Using this model, there would not be an edk2-platforms/master > branch. >=20 > Mike >=20 >=20 > > -----Original Message----- > > From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > > Sent: Wednesday, September 28, 2016 3:23 PM > > To: Kinney, Michael D > > 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: > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > > > * edk2-platform is not a fork of edk2. > > > > > > * edk2-platforms branches contain CPU, Chipset, SoC, and platform spe= cific > > > > > > packages > > > > > > * edk2-plaforms/master contains all open platforms that are synced wi= th > > > > > > edk2/master. > > > > > > * Each edk2-platforms branch may support many platforms (not just one= ) > > > > > > * Use PACKAGES_PATH to do builds using packages from multiple reposit= ories > > > > > > * Update edk2-platforms branch naming to clearly identify platforms t= hat > > > > > > are considered stable and platforms that are under active developme= nt. > > > > > > * edk2 developers may be required to verify platforms in edk2-platfor= ms > > > > > > builds as part of test criteria. Especially platforms that are int= ended > > > > > > to be used with edk2/master in edk2-platforms/stable-* branches. > > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > > > > > > > > > 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-udk2= 015 > > > > > > > > > > > > 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 dependen= t > > > > > > 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.". > > > > > > > > > > > > > > > > > > > > > > > > Problem statement > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > > > 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 > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D > > > > > > 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, Chipse= t, > > > > > > SoC, or platform specific. Drivers that are CPU arch and plat= form > > > > > > 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 platfor= m > > > > > > requires. This allows a platform developer(s) to use package= s > > > > > > from edk2/master or to use packages from a validates UDK rele= ase > > > > '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 th= e > > > > 'under development'? > > > > > following branch naming convention: > > > > > > edk2-platforms/devel-* > > > > > > > > > > > > e) An edk2-platforms branch for stable platforms use the followi= ng > > > > > > 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 d= esired, > > > > > > use edk2-devel review process. > > > > > > > > > > > > 7) Process to remove an edk2-platforms branch > > > > > > > > > > > > a) Stewards may periodically review of branches in edk2-platform= s > > > > > > (once a quarter?) > > > > > > > > > > > > b) If no activity on a branch for extended period of time and th= e branch > > > > > > is not being maintained and is no longer functional then stew= ards > > > > > > send email to edk2-devel to request deletion of edk2-platform= s branch. > > > > > > > > > > > > c) If no objections from EDK II community, then branch is delete= d 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 > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > Mike > > > > > > > > > > > > _______________________________________________ > > > edk2-devel mailing list > > > edk2-devel@lists.01.org > > > https://lists.01.org/mailman/listinfo/edk2-devel