From: David Woodhouse Date: Sat, 5 Mar 2016 16:44:33 +0000 (+0000) Subject: CryptoPkg/OpensslLib: Fix CRLF breakage in process_files.sh X-Git-Tag: edk2-stable201903~7686 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=9353c60cea6eeedbbe4b336aea02646e2bf25f47 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 --- diff --git a/CryptoPkg/Library/OpensslLib/process_files.sh b/CryptoPkg/Library/OpensslLib/process_files.sh old mode 100644 new mode 100755 index 6247ac9524..bb33c8ae3f --- 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" .