From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 3F2D21A1EC4 for ; Fri, 14 Oct 2016 00:14:45 -0700 (PDT) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP; 14 Oct 2016 00:14:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,491,1473145200"; d="scan'208";a="19503122" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by fmsmga005.fm.intel.com with ESMTP; 14 Oct 2016 00:14:44 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.161]) by ORSMSX102.amr.corp.intel.com ([169.254.3.44]) with mapi id 14.03.0248.002; Fri, 14 Oct 2016 00:14:44 -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/uVFSPei1E0IX4fvwQFJxZyAAvXh6fA= Date: Fri, 14 Oct 2016 07:14:43 +0000 Message-ID: References: <20160928222259.GW16080@bivouac.eciton.net> In-Reply-To: <20160928222259.GW16080@bivouac.eciton.net> 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:14:45 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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=20 Readme.md in each platform specific subdirectory. I have also addressed the all the feedback from Leif except for=20 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 > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal >=20 > Hi Mike, >=20 > 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. >=20 > 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. >=20 > > 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 speci= fic > > > > 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 repositor= ies > > > > * Update edk2-platforms branch naming to clearly identify platforms tha= t > > > > 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 inten= ded > > > > 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-udk201= 5 > > > > > > > > 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. >=20 > Suggest: ", then edk2-platforms would be recommended.". >=20 > > > > > > 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. >=20 > 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. >=20 > Does this final point still apply, now we're going to be using > PACKAGES_PATH rather than keep rebasing on top of edk2/master? >=20 > > > > > > > > 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, Chipset, > > > > SoC, or platform specific. Drivers that are CPU arch and platfo= rm > > > > 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 releas= e >=20 > 'validates' -> 'validated' >=20 > > > > (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 >=20 > 'under development'? >=20 > > following branch naming convention: > > > > edk2-platforms/devel-* > > > > > > > > e) An edk2-platforms branch for stable platforms use the following > > > > branch naming convention: > > > > > > > > edk2-platforms/stable-* > > > > >=20 > 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. >=20 > b) Maintainer sends email request to edk2-devel mailing list > announcing intent to integrate a devel-* branch into master. >=20 > c) Platform is reviewed for maturity, and merged to master when > ready. >=20 > 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? > --- >=20 > > 5) Process to update sources in edk2-platforms branch > > > > > > > > a) Commit message subject format: > > > > > > > > [platforms/branch PATCH]: Package/Module: Subject >=20 > Apologies for the late bikeshedding, but could we do this: > [PATCH][platforms/branch] > instead? > To reduce command line tedium with git format-patch. >=20 > > > > > > b) Directly commit changes to branch or if community review is des= ired, > > > > 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 stewar= ds > > > > 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 >=20 > Question again about Readme.MD for master branch. >=20 > Regards, >=20 > Leif >=20 > > > > > > > > > > > > > > Best regards, > > > > > > > > Mike > > > > > > > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel