1 #!/usr/bin/bash
   2 #
   3 # CDDL HEADER START
   4 #
   5 # The contents of this file are subject to the terms of the
   6 # Common Development and Distribution License, Version 1.0 only
   7 # (the "License").  You may not use this file except in compliance
   8 # with the License.
   9 #
  10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  11 # or http://www.opensolaris.org/os/licensing.
  12 # See the License for the specific language governing permissions
  13 # and limitations under the License.
  14 #
  15 # When distributing Covered Code, include this CDDL HEADER in each
  16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  17 # If applicable, add the following below this CDDL HEADER, with the
  18 # fields enclosed by brackets "[]" replaced with your own identifying
  19 # information: Portions Copyright [yyyy] [name of copyright owner]
  20 #
  21 # CDDL HEADER END
  22 #
  23 #
  24 # Copyright 2011-2013 OmniTI Computer Consulting, Inc.  All rights reserved.
  25 # Use is subject to license terms.
  26 #
  27 # Load support functions
  28 . ../../lib/functions.sh
  29 
  30 PROG=openssh
  31 VER=7.1p1
  32 VERHUMAN=$VER
  33 PKG=network/openssh
  34 SUMMARY="OpenSSH Client and utilities"
  35 DESC="OpenSSH Secure Shell protocol Client and associated Utilities"
  36 
  37 BUILDARCH=32
  38 # Since we're only building 32-bit, don't bother with isaexec subdirs
  39 CONFIGURE_OPTS_32="
  40     --prefix=$PREFIX
  41     --sysconfdir=/etc/ssh
  42     --includedir=$PREFIX/include
  43     --bindir=$PREFIX/bin
  44     --sbindir=$PREFIX/sbin
  45     --libdir=$PREFIX/lib
  46     --libexecdir=$PREFIX/libexec
  47     "
  48 # Feature choices
  49 CONFIGURE_OPTS="
  50     --with-solaris-contracts
  51     --with-solaris-projects
  52     --with-tcp-wrappers
  53     --with-ssl-engine
  54     --with-pam
  55     --with-audit=solaris
  56     "
  57 
  58 install_smf() {
  59     logmsg "Installing SMF components"
  60     logcmd mkdir -p $DESTDIR/lib/svc/manifest/network || \
  61         logerr "--- Failed to create manifest directory"
  62     logcmd cp $SRCDIR/ssh.xml $DESTDIR/lib/svc/manifest/network/ || \
  63         logerr "--- Failed to copy manifest file"
  64     logcmd mkdir -p $DESTDIR/lib/svc/method || \
  65         logerr "--- Failed to create method directory"
  66     logcmd cp $SRCDIR/method-sshd $DESTDIR/lib/svc/method/sshd || \
  67         logerr "--- Failed to copy method script"
  68 }
  69 
  70 CFLAGS+="-DPAM_ENHANCEMENT -DSET_USE_PAM -DPAM_BUGFIX -DDTRACE_SFTP"
  71 
  72 init
  73 download_source $PROG $PROG $VER
  74 patch_source
  75 prep_build
  76 run_autoconf
  77 build
  78 
  79 # Remove the letter from VER for packaging
  80 VER=${VER//p/.}
  81 
  82 # Client package
  83 RUN_DEPENDS_IPS="-pkg:/network/ssh -pkg:/network/ssh/ssh-key"
  84 make_package client.mog
  85 
  86 # Server package
  87 PKG=network/openssh-server
  88 PKGE=$(url_encode $PKG)
  89 SUMMARY="OpenSSH Server"
  90 DESC="OpenSSH Secure Shell protocol Server"
  91 RUN_DEPENDS_IPS="-pkg:/service/network/ssh pkg:/network/openssh@$VER"
  92 install_smf
  93 make_package server.mog
  94 
  95 clean_up
  96 
  97 # Vim hints
  98 # vim:ts=4:sw=4:et: