[edk2] [PATCH] CryptoPkg: Adding OpenSSL as one submodule of EDKII repo

Long Qin posted 1 patch 6 years, 2 months ago
Failed in applying to current master (apply log)
.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
[edk2] [PATCH] CryptoPkg: Adding OpenSSL as one submodule of EDKII repo
Posted by Long Qin 6 years, 2 months ago
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.ye@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qin Long <qin.long@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
Re: [edk2] [PATCH] CryptoPkg: Adding OpenSSL as one submodule of EDKII repo
Posted by Gao, Liming 6 years, 2 months ago
Reviewed-by: Liming Gao <liming.gao@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.ye@intel.com>; Gao, Liming <liming.gao@intel.com>; Long, Qin <qin.long@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.ye@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Qin Long <qin.long@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