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]
23 # Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
27 include ..
/..
/..
/make-rules
/shared-macros.mk
29 COMPONENT_NAME
= proftpd
30 COMPONENT_VERSION
= 1.3.6
31 COMPONENT_SUBVERSION
= c
33 HUMAN_VERSION
= $(COMPONENT_VERSION
)$(COMPONENT_SUBVERSION
)
34 COMPONENT_PROJECT_URL
= http
://www.proftpd.org
/
35 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(HUMAN_VERSION
)
36 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
37 COMPONENT_ARCHIVE_HASH
= \
38 sha256
:fa3541c4b34136a7b80cb12a2f6f9a0cab5118a5b0a1653d40af49c6479c35ad
39 COMPONENT_ARCHIVE_URL
= ftp
://ftp.proftpd.org
/distrib
/source
/$(COMPONENT_ARCHIVE
)
40 COMPONENT_LICENSE
= GPLv2
42 # mod_gss subcomponent
43 COMPONENT_NAME_1
= mod_gss
44 COMPONENT_VERSION_1
= 1.3.9
45 COMPONENT_SRC_1
= $(COMPONENT_NAME_1
)-$(COMPONENT_VERSION_1
)
46 COMPONENT_ARCHIVE_1
= $(COMPONENT_SRC_1
).
tar.gz
47 COMPONENT_ARCHIVE_HASH_1
= \
48 sha256
:de8babe0f13800da2142be74d82686af3984419a2ec09c86516467be58bce9a7
49 COMPONENT_ARCHIVE_URL_1
= http
://downloads.sourceforge.net
/gssmod
/$(COMPONENT_ARCHIVE_1
)
51 TEST_TARGET
=$(NO_TESTS
)
52 include $(WS_MAKE_RULES
)/common.mk
54 # IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but it is not
55 # enough for us. We need to include the $(COMPONENT_SUBVERSION) somehow.
56 # Because the IPS_COMPONENT_VERSION cannot contain letters we used '.0.5'
58 IPS_COMPONENT_VERSION
= $(COMPONENT_VERSION
)
60 CONFIGURE_BINDIR
.64 = $(USRLIBDIR
)/proftpd
/bin
61 CONFIGURE_SBINDIR
.64 = $(USRLIBDIR
)/proftpd
/sbin
65 # Remove -D_POSIX_PTHREAD_SEMANTICS and this comment after move to S12_45.
66 CONFIGURE_OPTIONS
+= CFLAGS
="$(CFLAGS) -I/usr/include/kerberosv5 -DHAVE_KRB5_H=1 -DKRB5_DLLIMP= -DHAVE__GETGRPSBYMEMBER -D_POSIX_PTHREAD_SEMANTICS"
67 # Force immediate binding because of chroot().
68 CONFIGURE_OPTIONS
+= LDFLAGS
="$(CC_BITS) -z guidance=nolazyload -z nolazyload -lbsm"
69 CONFIGURE_OPTIONS
+= install_user
=`id -nu`
70 CONFIGURE_OPTIONS
+= install_group
=`groups | cut -f 1 -d ' '`
71 CONFIGURE_OPTIONS
+= --sysconfdir
=$(ETCDIR
)
72 CONFIGURE_OPTIONS
+= --localstatedir
=/var
/run
73 CONFIGURE_OPTIONS
+= --libexecdir
=$(USRLIBDIR
)/proftpd
74 CONFIGURE_OPTIONS
+= --enable-ipv6
75 CONFIGURE_OPTIONS
+= --enable-ctrls
76 CONFIGURE_OPTIONS
+= --enable-facl
77 CONFIGURE_OPTIONS
+= --enable-nls
78 CONFIGURE_OPTIONS
+= --enable-dso
79 CONFIGURE_OPTIONS
+= --enable-openssl
80 CONFIGURE_OPTIONS
+= --disable-static
81 #CONFIGURE_OPTIONS += --with-modules=mod_solaris_audit:mod_solaris_priv
82 CONFIGURE_OPTIONS
+= --with-modules
=mod_solaris_priv
83 CONFIGURE_OPTIONS
+= --with-shared
=mod_facl
:mod_wrap
:mod_tls
:mod_auth_gss
:mod_gss
84 CONFIGURE_OPTIONS
+= --enable-buffer-size
=16384
86 # Copy Solaris modules and GSSAPI modules to proftpd source tree
87 COMPONENT_PRE_CONFIGURE_ACTION
= \
88 ($(CP
) mod_solaris_audit.c
$(SOURCE_DIR
)/contrib
&& \
89 $(CP
) mod_solaris_priv.c
$(SOURCE_DIR
)/contrib
&& \
91 /usr
/gnu
/bin
/tar xzf
$(USERLAND_ARCHIVES
)$(COMPONENT_ARCHIVE_1
) && \
92 cd
$(COMPONENT_SRC_1
) && \
93 $(CP
) $(COMPONENT_DIR
)/krb5-config
$(BUILD_DIR
) && \
94 chmod u
+x
$(BUILD_DIR
)/krb5-config
&& \
95 .
/configure CC
="$(CC)" CFLAGS
="$(CC_BITS) -I/usr/include/kerberosv5" --with-krb5-config
=$(BUILD_DIR
)/krb5-config
&& \
96 $(CP
) mod_gss.c mod_auth_gss.c
$(SOURCE_DIR
)/contrib
&& \
97 $(CP
) mod_gss.h
$(SOURCE_DIR
)/include && \
98 $(CP
) mod_gss.html
$(SOURCE_DIR
)/doc
/contrib
&& \
99 $(CLONEY
) $(SOURCE_DIR
) $(@D
))
101 # proftpd configure and build is not ready for run out of the source tree
102 CONFIGURE_SCRIPT
= $(@D
)/configure
104 # Do not apply the standard license transforms for this component. The
105 # license actions in the proftpd.p5m file are already tagged with the
109 # libcheck and specific Perl Test::Unit version is required for full test
111 REQUIRED_PACKAGES
+= SUNWcs
112 REQUIRED_PACKAGES
+= library
/security
/openssl
113 REQUIRED_PACKAGES
+= service
/security
/kerberos-5
114 REQUIRED_PACKAGES
+= system
/library
115 REQUIRED_PACKAGES
+= system
/library
/security
/gss