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>
This commit is contained in:
David Woodhouse 2016-03-05 16:44:33 +00:00
parent f949616754
commit 9353c60cea
1 changed files with 97 additions and 97 deletions

194
CryptoPkg/Library/OpensslLib/process_files.sh Normal file → Executable file
View File

@ -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" .