mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
				
	
	
		
			155 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/bash
 | |
| #
 | |
| # This script configures, builds and packs the binary package for
 | |
| # the Cygwin net distribution version of OpenSSL
 | |
| #
 | |
| 
 | |
| # Uncomment when debugging
 | |
| #set -x
 | |
| 
 | |
| CONFIG_OPTIONS="--prefix=/usr shared zlib no-idea no-rc5"
 | |
| INSTALL_PREFIX=/tmp/install/INSTALL
 | |
| 
 | |
| VERSION=
 | |
| SHLIB_VERSION_NUMBER=
 | |
| SUBVERSION=$1
 | |
| 
 | |
| function cleanup()
 | |
| {
 | |
|   rm -rf ${INSTALL_PREFIX}/etc
 | |
|   rm -rf ${INSTALL_PREFIX}/usr
 | |
| }
 | |
| 
 | |
| function get_openssl_version()
 | |
| {
 | |
|   eval `grep '^VERSION=' Makefile`
 | |
|   if [ -z "${VERSION}" ]
 | |
|   then
 | |
|     echo "Error: Couldn't retrieve OpenSSL version from Makefile."
 | |
|     echo "       Check value of variable VERSION in Makefile."
 | |
|     exit 1
 | |
|   fi
 | |
|   eval `grep '^SHLIB_VERSION_NUMBER=' Makefile`
 | |
|   if [ -z "${SHLIB_VERSION_NUMBER}" ]
 | |
|   then
 | |
|     echo "Error: Couldn't retrieve OpenSSL shared lib version from Makefile."
 | |
|     echo " Check value of variable SHLIB_VERSION_NUMBER in Makefile."
 | |
|     exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| function base_install()
 | |
| {
 | |
|   mkdir -p ${INSTALL_PREFIX}
 | |
|   cleanup
 | |
|   make install INSTALL_PREFIX="${INSTALL_PREFIX}"
 | |
| }
 | |
| 
 | |
| function doc_install()
 | |
| {
 | |
|   DOC_DIR=${INSTALL_PREFIX}/usr/share/doc/openssl
 | |
| 
 | |
|   mkdir -p ${DOC_DIR}
 | |
|   cp CHANGES CHANGES.SSLeay INSTALL LICENSE NEWS README ${DOC_DIR}
 | |
| 
 | |
|   create_cygwin_readme
 | |
| }
 | |
| 
 | |
| function certs_install()
 | |
| {
 | |
|   CERTS_DIR=${INSTALL_PREFIX}/usr/ssl/certs
 | |
| 
 | |
|   mkdir -p ${CERTS_DIR}
 | |
|   cp -rp certs/* ${CERTS_DIR}
 | |
| }
 | |
| 
 | |
| function create_cygwin_readme()
 | |
| {
 | |
|   README_DIR=${INSTALL_PREFIX}/usr/share/doc/Cygwin
 | |
|   README_FILE=${README_DIR}/openssl-${VERSION}.README
 | |
| 
 | |
|   mkdir -p ${README_DIR}
 | |
|   cat > ${README_FILE} <<- EOF
 | |
| 	The Cygwin version has been built using the following configure:
 | |
| 
 | |
| 	  ./config ${CONFIG_OPTIONS}
 | |
| 
 | |
| 	The IDEA and RC5 algorithms are disabled due to patent and/or
 | |
| 	licensing issues.
 | |
| 	EOF
 | |
| }
 | |
| 
 | |
| function create_profile_files()
 | |
| {
 | |
|   PROFILE_DIR=${INSTALL_PREFIX}/etc/profile.d
 | |
| 
 | |
|   mkdir -p $PROFILE_DIR
 | |
|   cat > ${PROFILE_DIR}/openssl.sh <<- "EOF"
 | |
| 	export MANPATH="${MANPATH}:/usr/ssl/man"
 | |
| 	EOF
 | |
|   cat > ${PROFILE_DIR}/openssl.csh <<- "EOF"
 | |
| 	if ( $?MANPATH ) then
 | |
| 	  setenv MANPATH "${MANPATH}:/usr/ssl/man"
 | |
| 	else
 | |
| 	  setenv MANPATH ":/usr/ssl/man"
 | |
| 	endif
 | |
| 	EOF
 | |
| }
 | |
| 
 | |
| if [ -z "${SUBVERSION}" ]
 | |
| then
 | |
|   echo "Usage: $0 subversion"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| if [ ! -f config ]
 | |
| then
 | |
|   echo "You must start this script in the OpenSSL toplevel source dir."
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| ./config ${CONFIG_OPTIONS}
 | |
| 
 | |
| get_openssl_version
 | |
| 
 | |
| make depend || exit 1
 | |
| 
 | |
| make || exit 1
 | |
| 
 | |
| base_install
 | |
| 
 | |
| doc_install
 | |
| 
 | |
| certs_install
 | |
| 
 | |
| create_cygwin_readme
 | |
| 
 | |
| create_profile_files
 | |
| 
 | |
| cd ${INSTALL_PREFIX}
 | |
| chmod u+w usr/lib/engines/*.so
 | |
| strip usr/bin/*.exe usr/bin/*.dll usr/lib/engines/*.so
 | |
| chmod u-w usr/lib/engines/*.so
 | |
| 
 | |
| # Runtime package
 | |
| tar cjf libopenssl${SHLIB_VERSION_NUMBER//[!0-9]/}-${VERSION}-${SUBVERSION}.tar.bz2 \
 | |
|      usr/bin/cyg*dll
 | |
| # Base package
 | |
| find etc usr/bin/openssl.exe usr/bin/c_rehash usr/lib/engines usr/share/doc \
 | |
|      usr/ssl/certs usr/ssl/man/man[157] usr/ssl/misc usr/ssl/openssl.cnf \
 | |
|      usr/ssl/private \
 | |
|      -empty -o \! -type d |
 | |
| tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 -
 | |
| # Development package
 | |
| find usr/include usr/lib/*.a usr/lib/pkgconfig usr/ssl/man/man3 \
 | |
|      -empty -o \! -type d |
 | |
| tar cjfT openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 -
 | |
| 
 | |
| ls -l openssl-${VERSION}-${SUBVERSION}.tar.bz2
 | |
| ls -l openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2
 | |
| ls -l libopenssl${SHLIB_VERSION_NUMBER//[!0-9]/}-${VERSION}-${SUBVERSION}.tar.bz2
 | |
| 
 | |
| cleanup
 | |
| 
 | |
| exit 0
 |