67 lines
2.3 KiB
Bash
Executable File
67 lines
2.3 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
# this scrypt deploy wolfssl and wolfcrypto source code to mynewt project
|
|
# run as bash "mynewt project root directory path"
|
|
|
|
SCRIPTDIR=`dirname $0`
|
|
SCRIPTDIR=`cd $SCRIPTDIR && pwd -P`
|
|
WOLFSSL_MYNEWTDIR=${SCRIPTDIR}
|
|
WOLFSSL_MYNEWTDIR=`cd $WOLFSSL_MYNEWTDIR && pwd -P`
|
|
BASEDIR=${SCRIPTDIR}/../..
|
|
BASEDIR=`cd ${BASEDIR} && pwd -P`
|
|
|
|
if [ $# -ne 1 ]; then
|
|
echo "Usage: $0 'mynewt project root directory path'" 1>&2
|
|
exit 1
|
|
fi
|
|
MYNEWT_PROJECT=$1
|
|
|
|
if [ ! -d $MYNEWT_PROJECT ] || [ ! -f $MYNEWT_PROJECT/project.yml ]; then
|
|
echo "target directory is not mynewt project.: $MYNEWT_PROJECT"
|
|
exit 1
|
|
fi
|
|
|
|
pushd $MYNEWT_PROJECT > /dev/null
|
|
|
|
echo "create apps/wolfsslclienttlsmn pkg"
|
|
/bin/rm -rf apps/wolfsslclienttlsmn
|
|
newt pkg new -t app apps/wolfsslclienttlsmn
|
|
/bin/rm -rf apps/wolfsslclienttlsmn/include
|
|
/bin/rm -rf apps/wolfsslclienttlsmn/src
|
|
/bin/mkdir -p apps/wolfsslclienttlsmn/src
|
|
|
|
popd > /dev/null # $MYNEWT_PROJECT
|
|
|
|
# deploy source files and pkg
|
|
pushd $BASEDIR > /dev/null
|
|
|
|
# deploy wolfssl client-tls to apps/wolfsslclienttlsmn
|
|
echo "deploy wolfssl client-tls to apps/wolfsslclienttlsmn"
|
|
/bin/cp $WOLFSSL_MYNEWTDIR/apps.wolfsslclienttlsmn.pkg.yml $MYNEWT_PROJECT/apps/wolfsslclienttlsmn/pkg.yml
|
|
/bin/cp $WOLFSSL_MYNEWTDIR/apps.wolfsslclienttlsmn.syscfg.yml $MYNEWT_PROJECT/apps/wolfsslclienttlsmn/syscfg.yml
|
|
/bin/mkdir -p $MYNEWT_PROJECT/apps/wolfsslclienttlsmn/src
|
|
|
|
/bin/cp $WOLFSSL_MYNEWTDIR/client-tls-mn.c $MYNEWT_PROJECT/apps/wolfsslclienttlsmn/src/main.c
|
|
/bin/cp $WOLFSSL_MYNEWTDIR/custom_ca.h $MYNEWT_PROJECT/apps/wolfsslclienttlsmn/src/custom_ca.h
|
|
|
|
# Generate local_ca.h from certs/ca-cert.pem.
|
|
LOCAL_CA_HEADER=$MYNEWT_PROJECT/apps/wolfsslclienttlsmn/src/local_ca.h
|
|
{
|
|
echo "/* Generated by mynewt/setup.sh from wolfssl-examples/certs/ca-cert.pem. */"
|
|
echo "#ifndef LOCAL_CA_H"
|
|
echo "#define LOCAL_CA_H"
|
|
echo "static const unsigned char local_ca_der[] = {"
|
|
openssl x509 -in $WOLFSSL_MYNEWTDIR/../certs/ca-cert.pem -outform der | xxd -i
|
|
echo "};"
|
|
echo "static const int sizeof_local_ca_der = sizeof(local_ca_der);"
|
|
echo "#endif /* LOCAL_CA_H */"
|
|
} > $LOCAL_CA_HEADER
|
|
|
|
if ! grep -q '0x' $LOCAL_CA_HEADER; then
|
|
echo "Error: generated $LOCAL_CA_HEADER has no CA bytes -- is" \
|
|
"$WOLFSSL_MYNEWTDIR/../certs/ca-cert.pem missing or unreadable?" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
popd > /dev/null # $BASEDIR
|