]>
Commit | Line | Data |
---|---|---|
8b2f9cdf LJ |
1 | #!/bin/bash |
2 | # | |
3 | # This script configures, builds and packs the binary package for | |
4 | # the Cygwin net distribution version of OpenSSL | |
5 | # | |
6 | ||
7 | # Uncomment when debugging | |
8 | #set -x | |
9 | ||
10 | CONFIG_OPTIONS="--prefix=/usr shared no-idea no-rc5 no-mdc2" | |
11 | INSTALL_PREFIX=/tmp/install | |
12 | ||
13 | VERSION= | |
14 | SUBVERSION=$1 | |
15 | ||
16 | function cleanup() | |
17 | { | |
18 | rm -rf ${INSTALL_PREFIX}/etc | |
19 | rm -rf ${INSTALL_PREFIX}/usr | |
20 | } | |
21 | ||
22 | function get_openssl_version() | |
23 | { | |
cd202fe2 | 24 | eval `grep '^VERSION=' Makefile` |
8b2f9cdf LJ |
25 | if [ -z "${VERSION}" ] |
26 | then | |
cd202fe2 NL |
27 | echo "Error: Couldn't retrieve OpenSSL version from Makefile." |
28 | echo " Check value of variable VERSION in Makefile." | |
8b2f9cdf LJ |
29 | exit 1 |
30 | fi | |
31 | } | |
32 | ||
33 | function base_install() | |
34 | { | |
35 | mkdir -p ${INSTALL_PREFIX} | |
36 | cleanup | |
37 | make install INSTALL_PREFIX="${INSTALL_PREFIX}" | |
38 | } | |
39 | ||
40 | function doc_install() | |
41 | { | |
d1360f6e | 42 | DOC_DIR=${INSTALL_PREFIX}/usr/share/doc/openssl |
8b2f9cdf LJ |
43 | |
44 | mkdir -p ${DOC_DIR} | |
45 | cp CHANGES CHANGES.SSLeay INSTALL LICENSE NEWS README ${DOC_DIR} | |
46 | ||
47 | create_cygwin_readme | |
48 | } | |
49 | ||
15da07d4 RL |
50 | function certs_install() |
51 | { | |
52 | CERTS_DIR=${INSTALL_PREFIX}/usr/ssl/certs | |
53 | ||
54 | mkdir -p ${CERTS_DIR} | |
55 | cp -rp certs/* ${CERTS_DIR} | |
56 | } | |
57 | ||
8b2f9cdf LJ |
58 | function create_cygwin_readme() |
59 | { | |
d1360f6e | 60 | README_DIR=${INSTALL_PREFIX}/usr/share/doc/Cygwin |
8b2f9cdf LJ |
61 | README_FILE=${README_DIR}/openssl-${VERSION}.README |
62 | ||
63 | mkdir -p ${README_DIR} | |
64 | cat > ${README_FILE} <<- EOF | |
65 | The Cygwin version has been built using the following configure: | |
66 | ||
67 | ./config ${CONFIG_OPTIONS} | |
68 | ||
69 | The IDEA, RC5 and MDC2 algorithms are disabled due to patent and/or | |
70 | licensing issues. | |
71 | EOF | |
72 | } | |
73 | ||
74 | function create_profile_files() | |
75 | { | |
76 | PROFILE_DIR=${INSTALL_PREFIX}/etc/profile.d | |
77 | ||
78 | mkdir -p $PROFILE_DIR | |
79 | cat > ${PROFILE_DIR}/openssl.sh <<- "EOF" | |
80 | export MANPATH="${MANPATH}:/usr/ssl/man" | |
81 | EOF | |
82 | cat > ${PROFILE_DIR}/openssl.csh <<- "EOF" | |
83 | if ( $?MANPATH ) then | |
84 | setenv MANPATH "${MANPATH}:/usr/ssl/man" | |
85 | else | |
86 | setenv MANPATH ":/usr/ssl/man" | |
87 | endif | |
88 | EOF | |
89 | } | |
90 | ||
91 | if [ -z "${SUBVERSION}" ] | |
92 | then | |
93 | echo "Usage: $0 subversion" | |
94 | exit 1 | |
95 | fi | |
96 | ||
97 | if [ ! -f config ] | |
98 | then | |
99 | echo "You must start this script in the OpenSSL toplevel source dir." | |
100 | exit 1 | |
101 | fi | |
102 | ||
103 | ./config ${CONFIG_OPTIONS} | |
104 | ||
105 | get_openssl_version | |
106 | ||
e20afbb3 RL |
107 | make depend || exit 1 |
108 | ||
8b2f9cdf LJ |
109 | make || exit 1 |
110 | ||
111 | base_install | |
112 | ||
113 | doc_install | |
114 | ||
15da07d4 RL |
115 | certs_install |
116 | ||
8b2f9cdf LJ |
117 | create_cygwin_readme |
118 | ||
119 | create_profile_files | |
120 | ||
121 | cd ${INSTALL_PREFIX} | |
3fbd5f9f RL |
122 | chmod u+w usr/lib/engines/*.so |
123 | strip usr/bin/*.exe usr/bin/*.dll usr/lib/engines/*.so | |
124 | chmod u-w usr/lib/engines/*.so | |
8b2f9cdf LJ |
125 | |
126 | # Runtime package | |
15da07d4 RL |
127 | find etc usr/bin usr/lib/engines usr/share/doc usr/ssl/certs \ |
128 | usr/ssl/man/man[157] usr/ssl/misc usr/ssl/openssl.cnf usr/ssl/private \ | |
129 | -empty -o \! -type d | | |
62be0031 | 130 | tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 - |
8b2f9cdf | 131 | # Development package |
15da07d4 RL |
132 | find usr/include usr/lib/*.a usr/lib/pkgconfig usr/ssl/man/man3 \ |
133 | -empty -o \! -type d | | |
62be0031 | 134 | tar cjfT openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 - |
8b2f9cdf | 135 | |
62be0031 RL |
136 | ls -l openssl-${VERSION}-${SUBVERSION}.tar.bz2 |
137 | ls -l openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 | |
8b2f9cdf LJ |
138 | |
139 | cleanup | |
140 | ||
141 | exit 0 |