RT notifier: parse templates without header correctly
[openxpki.git] / www.openxpki.org / trunk / htdocs / docs / openssl-gost.sh
blob5bccf7e55d293bd02ed04a70a5efc6a88dad303f
1 #!/bin/sh
3 set -e
5 OPENSSL_SOURCEDIR="/usr/local/src/openssl/work_098d"
6 OPENSSL_INSTALLDIR="/usr/local/openssl-0.9.8d-patched"
7 MAKE=gmake
9 OPENSSL_VERSION="0.9.8d"
10 OPENSSL_NAME="openssl-${OPENSSL_VERSION}"
11 ENGINE_ID="gost"
12 ENGINE_NAME="engine-${ENGINE_ID}-20061110"
13 PATCH="openssl-asymm-${OPENSSL_VERSION}-20061110.diff"
14 OPENSSL_DOWNLOAD="http://www.openssl.org/source/${OPENSSL_NAME}.tar.gz"
15 ENGINE_DOWNLOAD="http://osdn.dl.sourceforge.net/openxpki/${ENGINE_NAME}.tar.gz"
16 PATCH_DOWNLOAD="http://osdn.dl.sourceforge.net/openxpki/${PATCH}.gz"
17 SLEEP_TIME=2
19 if [ ! -d ${OPENSSL_SOURCEDIR} ]; then
20 mkdir -p ${OPENSSL_SOURCEDIR}
23 cd ${OPENSSL_SOURCEDIR}
25 echo "+-------------------------- +"
26 echo "| Getting sources if needed |"
27 echo "+-------------------------- +"
28 sleep ${SLEEP_TIME}
30 if [ ! -f ${OPENSSL_NAME}.tar.gz ]; then
31 wget ${OPENSSL_DOWNLOAD}
34 if [ ! -f ${ENGINE_NAME}.tar.gz ]; then
35 wget ${ENGINE_DOWNLOAD}
38 if [ ! -f ${PATCH}.gz ]; then
39 wget ${PATCH_DOWNLOAD}
42 for file in ${OPENSSL_NAME}.tar.gz ${ENGINE_NAME}.tar.gz ${PATCH}.gz; do
43 if [ ! -f ${file} ]; then
44 echo "! Error: failed to download ${file}"
45 echo "! Please download this file manually and put it to:"
46 echo " ${OPENSSL_SOURCEDIR}/"
47 exit
49 done
51 echo "+------------------ +"
52 echo "| Preparing sources |"
53 echo "+------------------ +"
54 sleep ${SLEEP_TIME}
56 if [ -d ${OPENSSL_NAME} ]; then
57 rm -rf ${OPENSSL_NAME}
60 if [ -d ${ENGINE_NAME} ]; then
61 rm -rf ${ENGINE_NAME}
64 if [ ! -f ${PATCH} ]; then
65 gunzip ${PATCH}.gz
68 if [ ! -d ${OPENSSL_INSTALLDIR} ]; then
69 mkdir -p ${OPENSSL_INSTALLDIR}
70 else
71 rm -rf ${OPENSSL_INSTALLDIR}/*
74 tar xzf ${OPENSSL_NAME}.tar.gz
75 tar xzf ${ENGINE_NAME}.tar.gz
77 echo "+------------------------ +"
78 echo "| Patching OpenSSL-${OPENSSL_VERSION} |"
79 echo "+------------------------ +"
80 sleep ${SLEEP_TIME}
82 cd ${OPENSSL_SOURCEDIR}/${OPENSSL_NAME}
83 patch -p0 < ../${PATCH}
85 echo "+---------------------------------------------------- +"
86 echo "| Configuring OpenSSL-${OPENSSL_VERSION} with ${ENGINE_ID} engine support |"
87 echo "+---------------------------------------------------- +"
88 sleep ${SLEEP_TIME}
90 ./config shared --prefix=${OPENSSL_INSTALLDIR} --openssldir=${OPENSSL_INSTALLDIR} -Wl,-rpath,${OPENSSL_INSTALLDIR}/lib -L${OPENSSL_INSTALLDIR}/lib
92 echo "+-------------------------------------------------------------- +"
93 echo "| Making and installing OpenSSL-${OPENSSL_VERSION} with ${ENGINE_ID} engine support |"
94 echo "+-------------------------------------------------------------- +"
95 sleep ${SLEEP_TIME}
97 ${MAKE} && ${MAKE} test && ${MAKE} install
99 echo "+----------------------------------------- +"
100 echo "| Making and installing ${ENGINE_ID} engine itself |"
101 echo "+----------------------------------------- +"
102 sleep ${SLEEP_TIME}
104 cd ${OPENSSL_SOURCEDIR}/${ENGINE_NAME}
105 ${MAKE} OPENSSL_DIR=../${OPENSSL_NAME} LDFLAGS="-g -L${OPENSSL_INSTALLDIR}/lib -R${OPENSSL_INSTALLDIR}/lib -Wl,-rpath,${OPENSSL_INSTALLDIR}/lib -static-libgcc"
107 if [ -f ${OPENSSL_SOURCEDIR}/${ENGINE_NAME}/lib${ENGINE_ID}.so ]; then
108 cp ${OPENSSL_SOURCEDIR}/${ENGINE_NAME}/lib${ENGINE_ID}.so ${OPENSSL_INSTALLDIR}/lib/engines/
109 else
110 echo "! Error: the engine file lib${ENGINE_ID}.so was not created in"
111 echo " ${OPENSSL_SOURCEDIR}/${ENGINE_NAME}/"
112 echo "! Please check the previous output and try to make and install"
113 echo "! lib${ENGINE_ID}.so manually"
114 exit
117 echo "+------------------------------------------------------------------------------------ +"
118 echo "| Modifying ${OPENSSL_INSTALLDIR}/openssl.cnf file to support ${ENGINE_ID} engine |"
119 echo "+------------------------------------------------------------------------------------ +"
120 sleep ${SLEEP_TIME}
122 echo "openssl_conf = openssl_def" > ./openssl.cnf.1
123 cat ${OPENSSL_INSTALLDIR}/openssl.cnf >> ./openssl.cnf.1
124 echo "" >> ./openssl.cnf.1
125 echo "[openssl_def]" >> ./openssl.cnf.1
126 echo "engines = engine_section" >> ./openssl.cnf.1
127 echo "[engine_section]" >> ./openssl.cnf.1
128 echo "${ENGINE_ID} = ${ENGINE_ID}_section" >> ./openssl.cnf.1
129 echo "[${ENGINE_ID}_section]" >> ./openssl.cnf.1
130 echo "dynamic_path = ${OPENSSL_INSTALLDIR}/lib/engines/lib${ENGINE_ID}.so" >> ./openssl.cnf.1
131 echo "engine_id = ${ENGINE_ID}" >> ./openssl.cnf.1
133 cp -f ./openssl.cnf.1 ${OPENSSL_INSTALLDIR}/openssl.cnf
135 echo "Installation of OpenSSL-${OPENSSL_VERSION} with ${ENGINE_ID} engine support to:"
136 echo " ${OPENSSL_INSTALLDIR}"
137 echo "finished successfully."