From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=134.134.136.100; helo=mga07.intel.com; envelope-from=stephano.cetola@linux.intel.com; receiver=edk2-devel@lists.01.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 A4CCF2116747E for ; Fri, 26 Oct 2018 01:47:00 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Oct 2018 01:46:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,427,1534834800"; d="scan'208";a="91397339" Received: from scetola-mobl1.amr.corp.intel.com (HELO [10.252.17.186]) ([10.252.17.186]) by FMSMGA003.fm.intel.com with ESMTP; 26 Oct 2018 01:46:59 -0700 From: stephano To: "edk2-devel@lists.01.org" Cc: Jeremiah Cox , Rebecca Cran Message-ID: <829e38d9-c679-8b16-f8e7-06e953bc88f4@linux.intel.com> Date: Fri, 26 Oct 2018 09:46:57 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 Subject: Community Meeting Minutes #2 X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Oct 2018 08:47:00 -0000 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Improving the Patch System -------------------------- We would like to streamline the workflow of our patches making it easier for current and future developers to contribute while discouraging careless code submissions. We will review several possibilities including Fabricator, Github, Gitlab, and Gerrit. We will review these solutions by examining case studies as well as community aided research. Key goals that we wish to achieve: 1. Offline search of both patches AND comments/conversations 2. Automation of tasks (e.g. lint, merge-fail detection) 3. Automatic notifications (e.g. patch reject, comment added, patch pushed to master) It was made clear that these goals should be implicit in the software, not something that we need to script or maintain. Rebecca Cran volunteered to help with Fabricator evaluation (thank you), and I will be heading up research on the remaining (more volunteers welcome :) ). Standard C Types ---------------- The only benefit we see to adding Standard C Types might be when we pull in modules like LZMA or FDT. We see no reason not to add them, but we are hesitant to remove our current type system as it works well and the community is comfortable using them. We should have a code standard in place to require the use of one or the other, but not both. Using Submodules ---------------- Assuming our deviations are not large we should follow a pattern of using submodules rather than pulling in code directly. Project Mu ---------- https://microsoft.github.io/mu/ Project Mu is a way of laying out TianoCore into layers, submodules, and repos, allowing multiple architectures to share the same core, facilitating efficiency and speeding time to market. https://github.com/Microsoft/mu_basecore Basecore is the minimum package set that someone would need to build a UEFI product. https://github.com/Microsoft/mu_plus Mu Plus is an example of optional features, specifically for surface, building upon the basecore layer. The Mu Plus repo includes features like DSCI (management of remote UEFI settings, targeted at client devices). Other groups might add similar layers to enable different features. In the documentation, please see the "MinPlatform Example" and the "Surface Example" To facilitate creating a build environment, they have created a wrapper around the current build system. Liming mentioned that there is currently an area for wrappers in BaseTools/Scripts: https://github.com/tianocore/edk2/tree/master/BaseTools/Scripts What is the difference between mu_basecore and edk2 master branch? --addition of large features not yet upstreamed (in progress) --small changes that need resources to upstream (time constraint) --rearranging things into different repos to facilitate layering. See: https://microsoft.github.io/mu/WhatAndWhy/layout/ Community TODO List ------------------- Jeremiah: please check to see if the Mu wrapper script is publicly available. Stephano: head up the review of patch systems and write up a report for each detailing the pro's & con's, and collect community feedback. Thank you all for your participation. I will be creating a survey to determine the best day & time to meet, and will setup a recurring meeting. As always, please feel free to contact me directly with comments / questions. Cheers, Stephano Stephano Cetola TianoCore Community Manager stephano.cetola@linux.intel.com