8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# CDDL HEADER START
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# The contents of this file are subject to the terms of the
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Common Development and Distribution License (the "License").
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# You may not use this file except in compliance with the License.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# or http://www.opensolaris.org/os/licensing.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# See the License for the specific language governing permissions
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# and limitations under the License.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# When distributing Covered Code, include this CDDL HEADER in each
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# If applicable, add the following below this CDDL HEADER, with the
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# fields enclosed by brackets "[]" replaced with your own identifying
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# information: Portions Copyright [yyyy] [name of copyright owner]
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# CDDL HEADER END
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek#
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekBUILD_BITS= 64
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPILER= gcc
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozekinclude ../../make-rules/shared-macros.mk
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_NAME= rsyslog
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_VERSION= 8.15.0
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_PROJECT_URL= http://www.rsyslog.com/
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_ARCHIVE_HASH= sha256:9ed6615a8503964290471e98ed363f3975b964a34c2d4610fb815a432aadaf59
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_ARCHIVE_URL= $(COMPONENT_PROJECT_URL)files/download/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_BUGDB= service/rsyslog
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekTPNO= 28284
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# The documentation is in a separate download
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_SRC_DOC= $(COMPONENT_NAME)-doc-$(COMPONENT_VERSION)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_ARCHIVE_DOC= $(COMPONENT_SRC_DOC).tar.gz
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_ARCHIVE_HASH_DOC= sha256:3462402165a3ff34ceff23db20382a14bd3727131994f140a004f4872a01c12a
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_ARCHIVE_URL_DOC= $(COMPONENT_PROJECT_URL)files/download/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE_DOC)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekUNPACK_ARGS_DOC= -r $(COMPONENT_SRC_DOC)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# There are tests, but gmake test is currently broken.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# It was working in the previous version, but not sure why
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# it breaks now. Leaving it at no tests for now.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekTEST_TARGET= $(NO_TESTS)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Requires mysql-57 not available on S11.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Also, syslog is required to be disabled, only in S12.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozekinclude $(WS_MAKE_RULES)/no-evaluation.mk
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozekinclude $(WS_MAKE_RULES)/common.mk
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Automake fix, regenerates configure file to get rid of the
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# automake 'probably too old' error. This fixes gmake test
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# needing more than one try to run. This does not fix the
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# fact that gmake test runs no tests.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_PRE_CONFIGURE_ACTION= cd $(SOURCE_DIR); \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek aclocal; \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek autoconf; \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek automake -a;
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# gmake test will generate different outputs if run multiple
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# times. This gets rid of all the unimportant output
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_TEST_TRANSFORMS += '-e "/\(CC\).*/d" '
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_TEST_TRANSFORMS += '-e "/\(make\).*/d" '
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_TEST_TRANSFORMS += '-e "/\(source\).*/d" '
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_TEST_TRANSFORMS += '-e "/\(check\).*/d" '
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_TEST_TRANSFORMS += '-e "/\(usr\).*/d" '
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_TEST_TRANSFORMS += '-e "/\(SOURCE_DIR\).*/d" '
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# This is needed for things to be built correctly.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCFLAGS += -std=c99
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# A normal 64-bit build would result in /usr/lib/$(MACH64)/rsyslog but since we
bac4458c89a589055ae3daf4f72cc7dba886264aLukas Slebodnik# have a self-contained eco-system, simplify things for customers and just use
bac4458c89a589055ae3daf4f72cc7dba886264aLukas Slebodnik# /usr/lib/rsyslog .
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_LIBDIR.64 = $(CONFIGURE_LIBDIR.32)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekPKG_CONFIG_PATH = /usr/lib/pkgconfig/gnutls-3
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# The configure script runs the pkg-config command. This allows it to
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# find the non-default GnuTLS v3 library.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekPKG_CONFIG_PATH.64 := $(PKG_CONFIG_PATH.64)/gnutls-3:$(PKG_CONFIG_PATH.64)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekLDFLAGS += -L$(USRLIBDIR64)/gnutls-3
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Rsyslog sources contain __FILE__ macros which contain full path to the workspace
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# This may appear in debug output which is not nice. By specifying the source
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# path relative we force the macro to be relative path too.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --srcdir=../../$(COMPONENT_NAME)-$(COMPONENT_VERSION)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-imsolaris
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-mail
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-gssapi_krb5
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-gnutls
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --disable-klog
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --sbindir=$(USRLIBDIR)/rsyslog
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-imfile
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-impstats
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-mysql
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_ENV += "MYSQL_CONFIG=/usr/mysql/5.7/bin/mysql_config"
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-omstdout
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-omuxsock
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# libgcrypt is not approved.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --disable-libgcrypt
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --enable-extended-tests
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# There are man pages in the tarball, which will require modification for
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# content. Also, building them from here requires python-docutils.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCONFIGURE_OPTIONS += --disable-generate-man-pages
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Make the build verbose, show executed commands
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_BUILD_ARGS += AM_DEFAULT_VERBOSITY=1
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# common targets
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekPROTODOCDIR= $(PROTOUSRSHAREDOCDIR)/$(COMPONENT_NAME)
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek# Docs to install are the tree under docs/build with some exceptions.
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekCOMPONENT_POST_INSTALL_ACTION += \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek ($(MKDIR) $(PROTODOCDIR) ; \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek cd $(COMPONENT_SRC_DOC)/build ; \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek find . \( -name '_sources' \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek -o -name '.doctrees' \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek -o -name '.buildinfo' \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek -o -name 'objects.inv' \) \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek -prune -o -print0 \
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek | cpio -pd0u $(PROTODOCDIR))
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += database/mysql-57
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += database/mysql-57/library
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += library/gnutls-3
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += library/json-c
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += library/libestr
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += library/liblogging
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += library/zlib
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += security/kerberos-5
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += shell/ksh93
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub HrozekREQUIRED_PACKAGES += system/core-os
8bdb8c0970dc9acb5b0a54dab0bae306ca964944Jakub Hrozek