From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0106.outbound.protection.outlook.com [104.47.40.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9A2B721CE7479 for ; Fri, 21 Jul 2017 09:50:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AYQGipdvAKJKo2swIhpm73XAZ//2NzcOehD3waLqGn0=; b=Jw7xe90bzdZOU//67WJYCFzxz3dafJChLLNf4lsBiuVt+8v6ZBfIG84jfvnjQX2sXwwZ6hISIwHTCk2M6oBzMadyJ4OaZ9ksP7otnEMjp8Z/Too5TG/rqzTSZVMJ+z4w4AE9SqNtDWSoFzV6pF4XWCl5x5trVBLXkSfkccIFzGc= Received: from MWHPR21MB0479.namprd21.prod.outlook.com (10.172.102.18) by MWHPR21MB0141.namprd21.prod.outlook.com (10.173.52.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.2; Fri, 21 Jul 2017 16:52:11 +0000 Received: from MWHPR21MB0479.namprd21.prod.outlook.com ([10.172.102.18]) by MWHPR21MB0479.namprd21.prod.outlook.com ([10.172.102.18]) with mapi id 15.01.1304.007; Fri, 21 Jul 2017 16:52:11 +0000 From: Sean Brogan To: "Long, Qin" , "edk2-devel@lists.01.org" Thread-Topic: Adding OpenSSL as the submodule of EDKII project... Thread-Index: AdMBIidJH8D+kMRjQ6yErten60mJSwBHlMVw Date: Fri, 21 Jul 2017 16:52:10 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=sean.brogan@microsoft.com; x-originating-ip: [131.107.32.41] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; MWHPR21MB0141; 7:ShNfNz1V6euzvHRiCUvI9bTkPcLwXp2KPcT0Rk+LabPyCOEOpsAfJ0lwIwer1XH5waPrAxN1KD+TwlsKhQ6gaH7sssD2NNF9DL9LPDvsMq1+Sv+kTXPP7WtcbUEKvQgiRXVAehBAniSHX5sGydoMGEGDcAhEVTxkH/ur+QM2C95yPhSMksaLxEZ7OhVQyk60W6mtBsNgiRjVoudWGbXEeMAtlFHAVww6lShY1hIypZoueL5W2yjyG+TY2KDmWLah+I/sG6x7ZwTG9wuXz/5U3P3fF4RGPQAKkID0aAYrYpbYGZQo4QMsH4BHNCiemLemuw+jB7qUHkm96EGOBrRqm6jFNvAZVE/t0xkcBqV9OPdHnIRm/RbnArj5RLtcpYnESpu7SIHpv0OLQ+zVJxUwgPItcwlYb88DEExroUOZ4rrNkXBwb/jA0mVEhTTbaThzoo18+jN7fvvaC3jDTmjIZ+L1WiVpKXQNOJgWFBOISFJk86udcWeCGllV8p+iiWoGdDhzSyzE6TlnInxcNHbCJdGay6Fx4JACNtrhhjaJh/MoCXBT7OjJeXKF4Og98cQJ+5MrmDIhvDFzKc1m8kx6HtPPFb+EOR0ZZ7878FjYmLjI4HppBHb+vm9eMekUkYWyivWFREjPPfcMCsVP8c+HPfk4JoCCIrOgOc8erm4gg9ZGtUdM2Z55blKQFyqDAS/dfBJI+fJaohnCouRMBeJwDv+9AK1X/T98BLZ3W2Dbf2ocjFniYwXk9ExgBL6dbBW0ikzBJo/v+QJFu9CWwp6IKwRXZIM3ovqbMUrp6vTHIRs58DIFvCxB8moceRxQDYvw x-ms-office365-filtering-correlation-id: b105d66c-ed7f-42fd-0c29-08d4d058d50a x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254075)(48565401081)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR21MB0141; x-ms-traffictypediagnostic: MWHPR21MB0141: x-o365ent-eop-header: Message processed by - O365_ENT: Allow from ranges (Engineering ONLY) x-exchange-antispam-report-test: UriScan:(189930954265078)(162533806227266)(219752817060721)(228905959029699); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(61425038)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(61426038)(61427038)(6041248)(20161123555025)(20161123560025)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR21MB0141; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR21MB0141; x-forefront-prvs: 0375972289 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39860400002)(39850400002)(39400400002)(39410400002)(39840400002)(39450400003)(47760400005)(189002)(13464003)(199003)(377454003)(6116002)(3846002)(101416001)(102836003)(5660300001)(9686003)(74316002)(50986999)(2900100001)(7696004)(6436002)(966005)(76176999)(54356999)(189998001)(305945005)(6506006)(7736002)(229853002)(55016002)(77096006)(33656002)(8936002)(99286003)(53936002)(10090500001)(66066001)(8676002)(38730400002)(81166006)(6306002)(6246003)(105586002)(81156014)(106356001)(5005710100001)(14454004)(86612001)(478600001)(25786009)(86362001)(8990500004)(10290500003)(3280700002)(3660700001)(2501003)(2906002)(97736004)(68736007)(53546010)(2950100002); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR21MB0141; H:MWHPR21MB0479.namprd21.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jul 2017 16:52:10.8112 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0141 Subject: Re: Adding OpenSSL as the submodule of EDKII project... X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jul 2017 16:50:15 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Long,Qin I think this is a great idea and great step forward for making edk2 more co= nsumable. We already do this for our internal clones of edk2 and would lik= e to see more work like this done to make edk2 consumable in a sustainable = and easy way. For example we also use submodules within our clone of edk2 = for win32 basetools bin and nasm. We then use submodules exclusively to ma= nage consuming edk2 into our project repos. This gives us great flexibilit= y and agility to manage, update, and sustain our code trees. TianoCore sho= uld think of itself not as the final repo but as an ingredient in a larger = repository for building and shipping UEFI based products. In that end I w= ould like to see EDK2 break into smaller repositories (but I'll save that f= or another day). =20 Thanks Sean -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Long= , Qin Sent: Thursday, July 20, 2017 12:18 AM To: edk2-devel@lists.01.org Cc: Long, Qin Subject: [edk2] Adding OpenSSL as the submodule of EDKII project... Hi, The Git submodule allows us to keep another Git repository in a subdirector= y of main project. The Submodule repository has its own history, which does= not interfere with the history of the current repository. This can be used= to have external dependencies such as third party libraries. After the extra patch for EDKII-OpenSSL build was removed, OpenSSL can be o= ne typical use case of Git Submodule in EDKII project. The Git parent (EDKI= I) will keep track of the release version / tag IDs of Submodules when the = module owner commit. That will also help to ensure that when we check out t= he EDKII project then the openssl Submodule will also contain its right tag= s. One forked EDK2 repository with OpenSSL submodule support was available at = https://na01.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgithub.c= om%2Fqloong%2Fedk2&data=3D02%7C01%7Csean.brogan%40microsoft.com%7C25cfc5e58= 5ab4364560708d4cf3f860c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636361= 319131460644&sdata=3DJlxveSrNDXpxECNOAS7zxfDkOvz%2FX5rc9RE%2FA9XYroA%3D&res= erved=3D0 for testing. For EDKII developers, the possible impacts will include (comparing to the o= riginal openssl source download / unpacking mechanism): - Cloning EDKII project with Submodules The user can use the following commands to clone both main EDKII repo and o= penssl submodule: 1) Add the "--recursive" flag to their git clone command: $ git clone --recursive https://na01.safelinks.protection.outlook.com= /?url=3Dhttps%3A%2F%2Fgithub.com%2Fqloong%2Fedk2&data=3D02%7C01%7Csean.brog= an%40microsoft.com%7C25cfc5e585ab4364560708d4cf3f860c%7C72f988bf86f141af91a= b2d7cd011db47%7C1%7C0%7C636361319131460644&sdata=3DJlxveSrNDXpxECNOAS7zxfDk= Ovz%2FX5rc9RE%2FA9XYroA%3D&reserved=3D0 or 2) Manually initialize and update the submodules after the clone operation = on main project: $ git clone https://na01.safelinks.protection.outlook.com/?url=3Dhttp= s%3A%2F%2Fgithub.com%2Fqloong%2Fedk2&data=3D02%7C01%7Csean.brogan%40microso= ft.com%7C25cfc5e585ab4364560708d4cf3f860c%7C72f988bf86f141af91ab2d7cd011db4= 7%7C1%7C0%7C636361319131460644&sdata=3DJlxveSrNDXpxECNOAS7zxfDkOvz%2FX5rc9R= E%2FA9XYroA%3D&reserved=3D0 $ git submodule update -init -recursive - Pulling in Upstream Changes For Pull operations, one single "git pull" will not update the submodule re= pository. So the following combined commands can be used to pull the remote= submodule updates (e.g. updating to new supported OpenSSL release tag) $ g= it pull -recurse-submodules && git submodule update -recursive -remote (For any third-party GUI tools (e.g. TortoiseGit), there are also no direct= support to sync-up the primary and submodule repo. We need to use extra "P= ull..." and "Submodule Update..." to handle this case.) Let me know your comments & suggestions on this possible submodule updates = (advantage or disadvantage of this change? Any impacts? ...). Thanks. Best Regards & Thanks, LONG, Qin _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://na01.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Flists.01= .org%2Fmailman%2Flistinfo%2Fedk2-devel&data=3D02%7C01%7Csean.brogan%40micro= soft.com%7C25cfc5e585ab4364560708d4cf3f860c%7C72f988bf86f141af91ab2d7cd011d= b47%7C1%7C0%7C636361319131460644&sdata=3DSU3grvQcPSSDREJnEvg%2F6m55JCXJV01j= AoSZi2nwcZA%3D&reserved=3D0