(linenum→info "unix/slp.c:2238")

openssl/0.9.8g/util/cygwin.sh

    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: {
   24:   eval `grep '^VERSION=' Makefile`
   25:   if [ -z "${VERSION}" ]
   26:   then
   27:     echo "Error: Couldn't retrieve OpenSSL version from Makefile."
   28:     echo "       Check value of variable VERSION in Makefile."
   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: {
   42:   DOC_DIR=${INSTALL_PREFIX}/usr/share/doc/openssl
   43: 
   44:   mkdir -p ${DOC_DIR}
   45:   cp CHANGES CHANGES.SSLeay INSTALL LICENSE NEWS README ${DOC_DIR}
   46: 
   47:   create_cygwin_readme
   48: }
   49: 
   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: 
   58: function create_cygwin_readme()
   59: {
   60:   README_DIR=${INSTALL_PREFIX}/usr/share/doc/Cygwin
   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: 
  107: make depend || exit 1
  108: 
  109: make || exit 1
  110: 
  111: base_install
  112: 
  113: doc_install
  114: 
  115: certs_install
  116: 
  117: create_cygwin_readme
  118: 
  119: create_profile_files
  120: 
  121: cd ${INSTALL_PREFIX}
  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
  125: 
  126: # Runtime package
  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 |
  130: tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 -
  131: # Development package
  132: find usr/include usr/lib/*.a usr/lib/pkgconfig usr/ssl/man/man3 \
  133:      -empty -o \! -type d |
  134: tar cjfT openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 -
  135: 
  136: ls -l openssl-${VERSION}-${SUBVERSION}.tar.bz2
  137: ls -l openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2
  138: 
  139: cleanup
  140: 
  141: exit 0
Syntax (Markdown)