Makefile revision 7104
76b43e4417bab52e913da39b5f5bc2a130d3f149Timo Sirainen#
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# CDDL HEADER START
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen# The contents of this file are subject to the terms of the
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# Common Development and Distribution License (the "License").
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# You may not use this file except in compliance with the License.
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# or http://www.opensolaris.org/os/licensing.
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# See the License for the specific language governing permissions
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# and limitations under the License.
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# When distributing Covered Code, include this CDDL HEADER in each
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c1ebcdad1b4d950eb22219704dd9d64a89d0568fTimo Sirainen# If applicable, add the following below this CDDL HEADER, with the
c1ebcdad1b4d950eb22219704dd9d64a89d0568fTimo Sirainen# fields enclosed by brackets "[]" replaced with your own identifying
c1ebcdad1b4d950eb22219704dd9d64a89d0568fTimo Sirainen# information: Portions Copyright [yyyy] [name of copyright owner]
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# CDDL HEADER END
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen#
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Siraineninclude ../../make-rules/shared-macros.mk
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
c1ebcdad1b4d950eb22219704dd9d64a89d0568fTimo SirainenCOMPONENT_NAME= proftpd
c1ebcdad1b4d950eb22219704dd9d64a89d0568fTimo SirainenCOMPONENT_VERSION= 1.3.5
c1ebcdad1b4d950eb22219704dd9d64a89d0568fTimo SirainenCOMPONENT_SUBVERSION= b
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenTPNO_PROFTPD= 27604
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenHUMAN_VERSION= $(COMPONENT_VERSION)$(COMPONENT_SUBVERSION)
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_PROJECT_URL= http://www.proftpd.org/
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_SRC= $(COMPONENT_NAME)-$(HUMAN_VERSION)
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_ARCHIVE_HASH= \
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen sha256:afc1789f2478acf88dfdc7d70da90a4fa2786d628218e9574273295d044b4fc8
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_ARCHIVE_URL= ftp://ftp.proftpd.org/distrib/source/$(COMPONENT_ARCHIVE)
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_BUGDB= service/ftp-server
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5dTimo Sirainen
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5dTimo Sirainen# mod_gss subcomponent
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_NAME_1= mod_gss
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_VERSION_1= 1.3.6
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenTPNO_MOD_GSS= 13480
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_SRC_1= $(COMPONENT_NAME_1)-$(COMPONENT_VERSION_1)
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_ARCHIVE_1= $(COMPONENT_SRC_1).tar.gz
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_ARCHIVE_HASH_1= \
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen sha256:bd1cb3f8ba0668981beb54d8b4de10ab204199327a464debd9da19196bbb23c4
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_ARCHIVE_URL_1= http://downloads.sourceforge.net/gssmod/$(COMPONENT_ARCHIVE_1)
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Siraineninclude $(WS_MAKE_RULES)/prep.mk
9398c0935613ba038cf2275ff66c43b25092cfd0Timo Siraineninclude $(WS_MAKE_RULES)/configure.mk
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Siraineninclude $(WS_MAKE_RULES)/ips.mk
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenPKG_MACROS += COMPONENT_VERSION_1=$(COMPONENT_VERSION_1)
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but it is not
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo Sirainen# enough for us. We need to include the $(COMPONENT_SUBVERSION) somehow.
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo Sirainen# Because the IPS_COMPONENT_VERSION cannot contain letters
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo Sirainen# ...we will use '.2' instead of 'b'.
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo SirainenIPS_COMPONENT_VERSION= $(COMPONENT_VERSION).2
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo Sirainen
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo SirainenCFLAGS += -I$(USRINCDIR)/kerberosv5 -DHAVE_KRB5_H=1 -DKRB5_DLLIMP= -DHAVE__GETGRPSBYMEMBER -D_SOLARIS_DTRACE
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo Sirainenifeq ($(OS_VERSION), 5.11)
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo SirainenCFLAGS += -D_POSIX_PTHREAD_SEMANTICS
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo Sirainenendif
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo SirainenLDFLAGS += $(CC_BITS)
7569ab8537418b7fc369265f26595b0ef9e4cb35Timo Sirainen# Force immediate (no-lazy) binding because of chroot() can loose the access into (/usr)/lib
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenLDFLAGS += -z guidance=nolazyload -z nolazyload -lbsm
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)"
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCONFIGURE_OPTIONS += install_user=`id -nu`
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += install_group=`groups | cut -f 1 -d ' '`
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += --sysconfdir=$(ETCDIR)
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += --localstatedir=/var/run
4376643cd2c7110e752c09f838f2c4eee6ed8ac6Timo SirainenCONFIGURE_OPTIONS += --libexecdir=$(USRLIBDIR)/proftpd
4376643cd2c7110e752c09f838f2c4eee6ed8ac6Timo SirainenCONFIGURE_OPTIONS += --enable-ipv6
4376643cd2c7110e752c09f838f2c4eee6ed8ac6Timo SirainenCONFIGURE_OPTIONS += --enable-ctrls
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += --enable-facl
99aec80ae156689abd5a568c647884d0c72f143cTimo SirainenCONFIGURE_OPTIONS += --enable-nls
99aec80ae156689abd5a568c647884d0c72f143cTimo SirainenCONFIGURE_OPTIONS += --enable-dso
99aec80ae156689abd5a568c647884d0c72f143cTimo SirainenCONFIGURE_OPTIONS += --enable-openssl
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += --disable-static
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += --with-modules=mod_solaris_audit:mod_solaris_priv
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += --with-shared=mod_facl:mod_wrap:mod_tls:mod_auth_gss:mod_gss
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_OPTIONS += --enable-buffer-size=16384
4376643cd2c7110e752c09f838f2c4eee6ed8ac6Timo Sirainen
4376643cd2c7110e752c09f838f2c4eee6ed8ac6Timo SirainenASLR_MODE = $(ASLR_ENABLE)
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen# Copy Solaris modules and GSSAPI modules to proftpd source tree.
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenCOMPONENT_PRE_CONFIGURE_ACTION = \
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen ($(CP) mod_solaris_audit.c $(SOURCE_DIR)/contrib ; \
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen $(CP) mod_solaris_priv.c $(SOURCE_DIR)/contrib ; \
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen cd $(BUILD_DIR) ; \
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen $(UNPACK) $(UNPACK_ARGS) ../$(COMPONENT_ARCHIVE_1) ; \
47bb4a7615c85f212f061499f04f121d6d625387Timo Sirainen cd $(COMPONENT_SRC_1) ; \
47bb4a7615c85f212f061499f04f121d6d625387Timo Sirainen ./configure CC="$(CC)" CFLAGS="-I/usr/include/kerberosv5" ; \
47bb4a7615c85f212f061499f04f121d6d625387Timo Sirainen $(CP) mod_gss.c mod_auth_gss.c $(SOURCE_DIR)/contrib ; \
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen $(CP) mod_gss.h $(SOURCE_DIR)/include ; \
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen $(CP) mod_gss.html $(SOURCE_DIR)/doc/contrib ; \
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo Sirainen $(CLONEY) $(SOURCE_DIR) $(@D))
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen# Build Solaris dtrace object files and copy to proftpd build tree.
fc8d5f0ac909cca77840538e8beef98a8d40c21cTimo SirainenCOMPONENT_PRE_BUILD_ACTION = \
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen (cd dtrace && make CP="$(CP)" CC="$(CC)" BD="$(BUILD_DIR)/$(MACH32)")
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen# proftpd configure and build is not ready for run out of the source tree
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenCONFIGURE_SCRIPT = $(@D)/configure
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen# Do not apply the standard license transforms for this component. The
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen# license actions in the proftpd.p5m file are already tagged with the
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen# attributes.
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenLICENSE_TRANSFORMS =
ce89e2964b6bc4925d2dd690417200a110d041c5Timo Sirainen
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainenbuild: $(BUILD_32)
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Siraineninstall: $(INSTALL_32)
fc8d5f0ac909cca77840538e8beef98a8d40c21cTimo Sirainen
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen# libcheck and specific Perl Test::Unit version is required for full test
fc8d5f0ac909cca77840538e8beef98a8d40c21cTimo Sirainentest: $(NO_TESTS)
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo Sirainen
fc8d5f0ac909cca77840538e8beef98a8d40c21cTimo SirainenREQUIRED_PACKAGES += library/security/openssl
5d4855d7b4dcffb6975ed8e3c9c376dac74e5c8aTimo SirainenREQUIRED_PACKAGES += library/security/openssl/openssl-fips-140
226259ee6fb9830dafc1a5ba1e95bf5a4345b406Timo SirainenREQUIRED_PACKAGES += service/security/kerberos-5
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenREQUIRED_PACKAGES += shell/ksh93
2e29e4797a48d78d669821722bdb54fd0a1d3b94Timo SirainenREQUIRED_PACKAGES += system/core-os
82f53ea81671bcc7b9bf24a34b04a4ba2752efd3Timo SirainenREQUIRED_PACKAGES += system/library
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5dTimo SirainenREQUIRED_PACKAGES += system/library/security/gss
82f53ea81671bcc7b9bf24a34b04a4ba2752efd3Timo SirainenREQUIRED_PACKAGES += system/network
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5dTimo Sirainen