Readme.md: add submodule policy and clone commands
authorJian J Wang <jian.j.wang@intel.com>
Mon, 8 Jul 2019 09:02:42 +0000 (17:02 +0800)
committerJian J Wang <jian.j.wang@intel.com>
Thu, 15 Aug 2019 01:56:37 +0000 (09:56 +0800)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1910

A section 'Submodules' is added to clarify the submodule policy
in edk2 repo. Git commands are also added to show the correct
way to clone submodule repos, in which '--recursive' is removed
because it's not needed but recommended in other document.

Related commits:
Openssl-1.1.1b upgrade: acfb90911840c38a0beb9bcfe0065668244d2b4d
berkeley-softfloat-3:   3cc57695df5a6e8c65fb46b993836c315cabf49d

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Readme.md

index 7c87375..27e4ce0 100644 (file)
--- a/Readme.md
+++ b/Readme.md
@@ -140,3 +140,42 @@ Signed-off-by: Contributor Name <contributor@example.com>
   the change.  Each line should be less than ~70 characters.\r
 * `Signed-off-by` is the contributor's signature identifying them\r
   by their real/legal name and their email address.\r
+\r
+# Submodules\r
+\r
+Submodule in EDK II is allowed but submodule chain should be avoided\r
+as possible as we can. Currently EDK II contains two submodules\r
+\r
+- CryptoPkg/Library/OpensslLib/openssl\r
+- ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3\r
+\r
+The latter one is actually required by previous one. It's inevitable\r
+in openssl-1.1.1 (since stable201905) for floating point parameter\r
+conversion, but should be dropped once there's no such need in future\r
+release of openssl.\r
+\r
+To get a full, buildable EDK II repository, use following steps of git\r
+command\r
+\r
+```\r
+$ git clone https://github.com/tianocore/edk2.git\r
+$ cd edk2\r
+$ git submodule update --init\r
+$ cd ..\r
+```\r
+\r
+If there's update for submodules, use following git commands to get the\r
+latest submodules code.\r
+\r
+```\r
+$ cd edk2\r
+$ git pull\r
+$ git submodule update\r
+```\r
+\r
+Note: When cloning submodule repos, '--recursive' option is not\r
+recommended. EDK II itself will not use any code/feature from\r
+submodules in above submodules. So using '--recursive' adds a\r
+dependency on being able to reach servers we do not actually want\r
+any code from, as well as needlessly downloading code we will not\r
+use.\r