Reviewed-by: Liming Gao <liming....@intel.com> > -----Original Message----- > From: Long, Qin > Sent: Tuesday, January 16, 2018 3:22 PM > To: edk2-devel@lists.01.org > Cc: Ye, Ting <ting...@intel.com>; Gao, Liming <liming....@intel.com>; Long, > Qin <qin.l...@intel.com> > Subject: [PATCH] CryptoPkg: Adding OpenSSL as one submodule of EDKII repo > > A submodule allows to keep another Git repository in a subdirectory > of main repository. 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 one typical submodule use case in EDKII project. This patch adds the > openssl git repository into EDKII project as one submodule. > > One .gitmodules file will be generated with the submodule info: > [submodule "CryptoPkg/Library/OpensslLib/openssl"] > path = CryptoPkg/Library/OpensslLib/openssl > url = https://github.com/openssl/openssl > > The user can use the following command to clone both main EDKII repo and > openssl submodule: > 1) Add the "--recursive" flag to their git clone command: > $ git clone --recursive https://github.com/tianocore/edk2 > or 2) Manually initialize and the submodules after the clone operation: > $ git clone https://github.com/tianocore/edk2 > $ git submodule update -–init -–recursive > > For Pull operations, "git pull" will not update the submodule repository. > So the following combined commands can be used to pull the remote submodule > updates (e.g. Updating to new supported OpenSSL release) > $ git pull –-recurse-submodules && \ > git submodule update -–recursive --remote > > Cc: Ye Ting <ting...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Qin Long <qin.l...@intel.com> > --- > .gitmodules | 3 +++ > CryptoPkg/.gitignore | 1 - > CryptoPkg/Library/OpensslLib/OpenSSL-HOWTO.txt | 29 > +++++++++++++------------- > CryptoPkg/Library/OpensslLib/openssl | 1 + > 4 files changed, 19 insertions(+), 15 deletions(-) > create mode 100644 .gitmodules > delete mode 100644 CryptoPkg/.gitignore > create mode 160000 CryptoPkg/Library/OpensslLib/openssl > > diff --git a/.gitmodules b/.gitmodules > new file mode 100644 > index 0000000000..e4ae0c1c16 > --- /dev/null > +++ b/.gitmodules > @@ -0,0 +1,3 @@ > +[submodule "CryptoPkg/Library/OpensslLib/openssl"] > + path = CryptoPkg/Library/OpensslLib/openssl > + url = https://github.com/openssl/openssl > diff --git a/CryptoPkg/.gitignore b/CryptoPkg/.gitignore > deleted file mode 100644 > index 731c275ae1..0000000000 > --- a/CryptoPkg/.gitignore > +++ /dev/null > @@ -1 +0,0 @@ > -Library/OpensslLib/openssl*/ > diff --git a/CryptoPkg/Library/OpensslLib/OpenSSL-HOWTO.txt > b/CryptoPkg/Library/OpensslLib/OpenSSL-HOWTO.txt > index d152138129..ac63d4c077 100644 > --- a/CryptoPkg/Library/OpensslLib/OpenSSL-HOWTO.txt > +++ b/CryptoPkg/Library/OpensslLib/OpenSSL-HOWTO.txt > @@ -25,21 +25,22 @@ on the cryptography. > ============================================================================= > HOW to Install OpenSSL for UEFI Building > ============================================================================= > -1. Clone the latest official OpenSSL release into the directory > - CryptoPkg/Library/OpensslLib/openssl/ > + OpenSSL repository was added as one submodule of EDKII project. > > - Use OpenSSL-1.1.0g release as one example: > - (OpenSSL_1_1_0g below is the tag name for the OpenSSL-1.1.0g release) > - > cd CryptoPkg/Library/OpensslLib > - > git clone -b OpenSSL_1_1_0g https://github.com/openssl/openssl openssl > - or > - > git clone https://github.com/openssl/openssl openssl > - > git checkout OpenSSL_1_1_0g > -Or > -2. Download the latest OpenSSL release package from the official website: > - https://www.openssl.org/source/ > - and unpack the OpenSSL source into: > - CryptoPkg/Library/OpensslLib/openssl/ > + The user can use the following commands to clone both main EDKII repo and > +openssl submodule: > + 1) Add the "--recursive" flag to the git clone command: > + $ git clone --recursive https://github.com/tianocore/edk2 > +or > + 2) Manually initialize and update the submodules after the clone operation > + on main project: > + $ git clone https://github.com/tianocore/edk2 > + $ git submodule update --init --recursive > + > + And use the following combined commands to pull the remote submodule > updates > +(e.g. Updating the new supported OpenSSL release tag): > + $ git pull --recurse-submodules && \ > + git submodule update --recursive --remote > > ============================================================================= > About process_files.pl > diff --git a/CryptoPkg/Library/OpensslLib/openssl > b/CryptoPkg/Library/OpensslLib/openssl > new file mode 160000 > index 0000000000..b2758a2292 > --- /dev/null > +++ b/CryptoPkg/Library/OpensslLib/openssl > @@ -0,0 +1 @@ > +Subproject commit b2758a2292aceda93e9f44c219b94fe21bb9a650 > -- > 2.15.1.windows.2
_______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel