diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2016-03-05 16:44:33 +0000 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2016-03-05 16:48:21 +0000 |
commit | 9353c60cea6eeedbbe4b336aea02646e2bf25f47 (patch) | |
tree | fbd4aa7cc424ffcb447c2af315e575ebadc96227 /CryptoPkg | |
parent | f9496167549701f31968fea3b52c05c32689f7b9 (diff) | |
download | edk2-platforms-9353c60cea6eeedbbe4b336aea02646e2bf25f47.tar.xz |
CryptoPkg/OpensslLib: Fix CRLF breakage in process_files.sh
This got broken in committing, due to a catalogue of broken practices.
Firstly, we should *pull* git submissions, never recommit them. You
preserve the correct history then, and don't risk rebasing to result in
a history which *never* worked in the form that gets preserved.
That would have kept the authorship attrbution correct too.
Secondly, we shouldn't be storing CRLF line endings in the objects that
git stores in its database. It is designed to store simple LF line endings,
and then check that out as appropriate for the system (resulting in CRLF
in the working tree for Windows users, as they expect). That would avoid
this problem, and all the other problems we have with patches being
exchanged.
Make it executable too, which also got lost in the commit mess.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'CryptoPkg')
-rwxr-xr-x[-rw-r--r--] | CryptoPkg/Library/OpensslLib/process_files.sh | 194 |
1 files changed, 97 insertions, 97 deletions
diff --git a/CryptoPkg/Library/OpensslLib/process_files.sh b/CryptoPkg/Library/OpensslLib/process_files.sh index 6247ac9524..bb33c8ae3f 100644..100755 --- a/CryptoPkg/Library/OpensslLib/process_files.sh +++ b/CryptoPkg/Library/OpensslLib/process_files.sh @@ -1,97 +1,97 @@ -#!/bin/sh
-#
-# This script runs the OpenSSL Configure script, then processes the
-# resulting file list into our local OpensslLib.inf and also takes
-# a copy of opensslconf.h.
-#
-# This only needs to be done once by a developer when updating to a
-# new version of OpenSSL (or changing options, etc.). Normal users
-# do not need to do this, since the results are stored in the EDK2
-# git repository for them.
-
-OPENSSL_PATH=$(sed -n '/DEFINE OPENSSL_PATH/{s/.* \(openssl-[0-9.]*[a-z]*\)[[:space:]]*/\1/ p}' OpensslLib.inf)
-
-if ! cd "${OPENSSL_PATH}" ; then
- echo "Cannot change to OpenSSL directory \"${OPENSSL_PATH}\""
- exit 1
-fi
-
-./Configure UEFI \
- no-asm \
- no-bf \
- no-camellia \
- no-capieng \
- no-cast \
- no-cms \
- no-deprecated \
- no-dgram \
- no-dsa \
- no-dynamic-engine \
- no-ec \
- no-ecdh \
- no-ecdsa \
- no-engine \
- no-engines \
- no-err \
- no-filenames \
- no-fp-api \
- no-hw \
- no-idea \
- no-jpake \
- no-krb5 \
- no-locking \
- no-mdc2 \
- no-posix-io \
- no-pqueue \
- no-rc2 \
- no-rcs \
- no-rfc3779 \
- no-ripemd \
- no-scrypt \
- no-sct \
- no-seed \
- no-sha0 \
- no-sock \
- no-srp \
- no-ssl \
- no-stdio \
- no-threads \
- no-ts \
- no-ui \
- no-whirlpool \
- || exit 1
-
-make files
-cd -
-
-function filelist ()
-{
- echo '1,/# Autogenerated files list starts here/p'
- echo '/# Autogenerated files list ends here/,$p'
- echo '/# Autogenerated files list starts here/a\'
-
- while read LINE; do
- case "$LINE" in
- RELATIVE_DIRECTORY=*)
- eval "$LINE"
- ;;
- LIBSRC=*)
- LIBSRC=$(echo "$LINE" | sed s/^LIBSRC=//)
- if [ "$RELATIVE_DIRECTORY" != "ssl" ]; then
- for FILE in $LIBSRC; do
- if [ "$FILE" != "b_print.c" ]; then
- echo -e ' $(OPENSSL_PATH)/'$RELATIVE_DIRECTORY/$FILE\\r\\
- fi
- done
- fi
- ;;
- esac
- done
- echo -e \\r
-}
-
-filelist < "${OPENSSL_PATH}/MINFO" | sed -n -f - -i OpensslLib.inf
-
-# We can tell Windows users to put this back manually if they can't run
-# Configure.
-cp "${OPENSSL_PATH}/crypto/opensslconf.h" .
+#!/bin/sh +# +# This script runs the OpenSSL Configure script, then processes the +# resulting file list into our local OpensslLib.inf and also takes +# a copy of opensslconf.h. +# +# This only needs to be done once by a developer when updating to a +# new version of OpenSSL (or changing options, etc.). Normal users +# do not need to do this, since the results are stored in the EDK2 +# git repository for them. + +OPENSSL_PATH=$(sed -n '/DEFINE OPENSSL_PATH/{s/.* \(openssl-[0-9.]*[a-z]*\)[[:space:]]*/\1/ p}' OpensslLib.inf) + +if ! cd "${OPENSSL_PATH}" ; then + echo "Cannot change to OpenSSL directory \"${OPENSSL_PATH}\"" + exit 1 +fi + +./Configure UEFI \ + no-asm \ + no-bf \ + no-camellia \ + no-capieng \ + no-cast \ + no-cms \ + no-deprecated \ + no-dgram \ + no-dsa \ + no-dynamic-engine \ + no-ec \ + no-ecdh \ + no-ecdsa \ + no-engine \ + no-engines \ + no-err \ + no-filenames \ + no-fp-api \ + no-hw \ + no-idea \ + no-jpake \ + no-krb5 \ + no-locking \ + no-mdc2 \ + no-posix-io \ + no-pqueue \ + no-rc2 \ + no-rcs \ + no-rfc3779 \ + no-ripemd \ + no-scrypt \ + no-sct \ + no-seed \ + no-sha0 \ + no-sock \ + no-srp \ + no-ssl \ + no-stdio \ + no-threads \ + no-ts \ + no-ui \ + no-whirlpool \ + || exit 1 + +make files +cd - + +function filelist () +{ + echo '1,/# Autogenerated files list starts here/p' + echo '/# Autogenerated files list ends here/,$p' + echo '/# Autogenerated files list starts here/a\' + + while read LINE; do + case "$LINE" in + RELATIVE_DIRECTORY=*) + eval "$LINE" + ;; + LIBSRC=*) + LIBSRC=$(echo "$LINE" | sed s/^LIBSRC=//) + if [ "$RELATIVE_DIRECTORY" != "ssl" ]; then + for FILE in $LIBSRC; do + if [ "$FILE" != "b_print.c" ]; then + echo -e ' $(OPENSSL_PATH)/'$RELATIVE_DIRECTORY/$FILE\\r\\ + fi + done + fi + ;; + esac + done + echo -e \\r +} + +filelist < "${OPENSSL_PATH}/MINFO" | sed -n -f - -i OpensslLib.inf + +# We can tell Windows users to put this back manually if they can't run +# Configure. +cp "${OPENSSL_PATH}/crypto/opensslconf.h" . |