4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
22 # Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
23 # Copyright 2018 Till Wegmüller
24 # Copyright 2019 Michal Nowak
27 include ..
/..
/..
/make-rules
/shared-macros.mk
29 COMPONENT_NAME
= hpn-ssh
30 COMPONENT_VERSION
= 18.4.2
32 COMPONENT_SUMMARY
= High performance SSH
/SCP
33 COMPONENT_SRC
= $(COMPONENT_NAME
)-hpn-
$(HUMAN_VERSION
)
34 COMPONENT_PROJECT_URL
= https
://www.psc.edu
/hpn-ssh-home
/
35 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
36 COMPONENT_ARCHIVE_HASH
= sha256
:ff5653d26cd3846f5d366e6826589c66dca7607b3ce7ab6af83258510da521f8
37 COMPONENT_ARCHIVE_URL
= https
://github.com
/rapier1
/hpn-ssh
/archive
/refs
/tags/hpn-
$(HUMAN_VERSION
).
tar.gz
38 COMPONENT_FMRI
= network
/hpn-ssh
39 COMPONENT_LICENSE
= BSD
, BSD-like
40 COMPONENT_LICENSE_FILE
= LICENCE
42 COMPONENT_SUMMARY.
$(COMPONENT_NAME
)= $(COMPONENT_SUMMARY
) - client and utilities
44 COMPONENT_FMRI.
$(COMPONENT_NAME
)-service
= service
/$(COMPONENT_FMRI
)
45 COMPONENT_SUMMARY.
$(COMPONENT_NAME
)-service
= $(COMPONENT_SUMMARY
) - servers and services
47 TEST_TARGET
= $(SKIP_TEST
)
48 include $(WS_MAKE_RULES
)/common.mk
50 COMPONENT_PREP_ACTION
= ( cd
$(@D
) ; autoreconf
-f
-i
)
52 # Enable various fixes and enhancements implemented by patches
53 CFLAGS
+= -DSET_USE_PAM
54 CFLAGS
+= -DPAM_ENHANCEMENT
55 CFLAGS
+= -DPAM_BUGFIX
56 CFLAGS
+= -DDTRACE_SFTP
57 CFLAGS
+= -DDISABLE_BANNER
58 CFLAGS
+= -DDEPRECATE_SUNSSH_OPT
59 CFLAGS
+= -DPER_SESSION_XAUTHFILE
61 # configure is unable to find OpenSSL headers without this workaround
62 CFLAGS
+= -I
$(OPENSSL_INCDIR
)
64 # We need to disable lazyloading of dynamic dependent libraries. During the
65 # pre-authentication phase, hpnsshd will chroot to /var/empty which doesn't
66 # contain any files. If we use lazyloading, hpnsshd will fail to find any
67 # libraries that it needs.
68 LDFLAGS
+= -B direct
-z nolazyload
70 # configure is unable to find OpenSSL libraries by default so we need to pass
71 # OPENSSL_LIBDIR to --with-ssl-dir as a workaround
72 CONFIGURE_OPTIONS
+= --with-ssl-dir
=$(OPENSSL_LIBDIR
)
73 CONFIGURE_OPTIONS
+= --with-ssl-engine
74 CONFIGURE_OPTIONS
+= --with-audit
=solaris
75 CONFIGURE_OPTIONS
+= --with-libedit
76 CONFIGURE_OPTIONS
+= --with-kerberos5
77 CONFIGURE_OPTIONS
+= --with-pam
78 CONFIGURE_OPTIONS
+= --with-sandbox
=solaris
79 CONFIGURE_OPTIONS
+= --with-solaris-contracts
80 CONFIGURE_OPTIONS
+= --with-solaris-privs
81 CONFIGURE_OPTIONS
+= --with-solaris-projects
82 CONFIGURE_OPTIONS
+= --with-tcp-wrappers
83 CONFIGURE_OPTIONS
+= --with-4in6
84 CONFIGURE_OPTIONS
+= --with-xauth
=/usr
/bin
/xauth
85 CONFIGURE_OPTIONS
+= --enable-strip
=no
86 CONFIGURE_OPTIONS
+= --without-rpath
87 CONFIGURE_OPTIONS
+= --sysconfdir
=$(ETCDIR
)
89 # Install hpnssh-copy-id and its man page
90 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) -Dm755
$(SOURCE_DIR
)/contrib
/hpnssh-copy-id
$(PROTOUSRBINDIR
)/hpnssh-copy-id
;
91 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) -Dm644
$(SOURCE_DIR
)/contrib
/hpnssh-copy-id
.1 $(PROTOUSRSHAREMAN1DIR
)/hpnssh-copy-id
.1 ;
93 # Install the service related files
94 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) -Dm0444
$(COMPONENT_DIR
)/files
/hpnssh.xml
$(PROTO_DIR
)/lib
/svc
/manifest
/network
/hpnssh.xml
;
95 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) -Dm0555
$(COMPONENT_DIR
)/files
/hpnsshd
$(PROTO_DIR
)/lib
/svc
/method
/hpnsshd
;
97 # Install configuration snippets
98 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) -d
$(PROTO_DIR
)/etc
/hpnssh
/ssh_config.d
;
99 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) $(COMPONENT_DIR
)/files
/ssh_config.d
/* $(PROTO_DIR
)/etc
/hpnssh
/ssh_config.d
;
100 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) -d
$(PROTO_DIR
)/etc
/hpnssh
/sshd_config.d
;
101 COMPONENT_POST_INSTALL_ACTION
+= $(INSTALL
) $(COMPONENT_DIR
)/files
/sshd_config.d
/* $(PROTO_DIR
)/etc
/hpnssh
/sshd_config.d
;
103 COMPONENT_TEST_TARGETS
= tests
105 # Auto-generated dependencies
106 REQUIRED_PACKAGES
+= $(OPENSSL_PKG
)
107 REQUIRED_PACKAGES
+= SUNWcs
108 REQUIRED_PACKAGES
+= library
/libedit
109 REQUIRED_PACKAGES
+= library
/zlib
110 REQUIRED_PACKAGES
+= service
/security
/kerberos-5
111 REQUIRED_PACKAGES
+= shell/bash
112 REQUIRED_PACKAGES
+= shell/ksh93
113 REQUIRED_PACKAGES
+= system
/library
114 REQUIRED_PACKAGES
+= system
/library
/security
/gss